产品描述
西门子模块1FL6042-2AF21-1AA1
目前西门子300/400系列的PLC的通讯方式开始大量使用工业以太网通讯,MP277/377、xP177B系列触摸屏也集成了以太网接口,这带来一个好处,所有的接口都统一,在网络通讯时采用都以太网接口,所有的设备组成一个局域网,包括上位监控计算机、编程设备、PLC、触摸屏都能很方便地互相访问,需要扩展多一个设备也很方便,只需要加一个交换机就能扩展出多个接口。因为有这些好处,所以采用以太网通讯越来越流行,下面说一说以太网通讯的其中一个应用,PLC与PLC之间通过以太网互连。
一、S7-300/400之间互连
1、采用PLC与PLC通过以太网访问,需要增加以太网模块,如CP343-1,CP443-1的模块,或者采用带有PN接口的PLC,如CPU315-2DP/PN的PLC。
2、采用两块CP343-1互连,先在同一个项目里做好两套PLC的硬件组态,分配好IP地址,打开NetPro,选择其中一个PLC,双击连接列表上的空白行,添加一个
S7conection。选择连接的另一个PLC,记住连接的ID号。通讯双方的其中一个站为Client端,“Establishanactiveconnection”的选项(默认是的)。这样NetPro的配置就完成了,编译、下载完成
3、打开其中两套PLC的OB1,调用FB12(BSEND)块发送数据,FB13(BRCV)块接收数据,1#PLC的发送对应2#PLC的接收,1#PLC的接收对应2#PLC的发送。
4、调用FB12的时候几个参数的含意,a、REQ,发送开始,上升沿触发发送工作;b、ID,连接ID号,这个ID号是在NetPro组态时生成的ID号;c、R_ID,连接号,相同连接号的FB块互相对应发送接收数据,这个是由用户编程时定义的,例如1#PLC的FB12的R_ID是DW#16#2,则2#PLC的FB13的R_ID也是DW#16#2,这样才能保正常接收发送;d、DONE,发送完成,如果REQ端是一个不停的脉冲,正常情况下DONE端也应该也是一个不停的脉冲反馈;e、SD_1,发送的开始地址,以P#x.xbytexxx来表示,f、LEN,发送数据的长度。
5、采用FB12、FB13来进行发送/接收是比较麻烦的,一方面需要两端的以太网模块都支持双边发送,如Cp343-1-Lean就不支持了,另一方面,两边都要写程序,对于增加的系统不太方便,所以这时可以在NetPro里把One-way(单边通讯,后FB12、FB13不能使用),采用FB14(GET)取数据、FB15(PUT)发送数据来做,FB14的参数定义和FB12差不多,只是少了R_ID和LEN,这样更方便一些,而且还有一个好处,不需要对原有的系统进行什么更改,只需要把单边的PLC组态和程序下载就可以了
6、需要注意的另一个问题是FB和SFB的区别,在400上采用SFB,在S7-300上采用FB,在S7-300集成的PN口上,采用SFB,这个问题曾经折磨过我一两天才解决。
二、WinLC与PLC互连
WinLC是在PC机上的软件PLC,可以把一台PC机当成PLC使用。这样对于不能采用模拟器连接的软件是比较方便的,如采用Intouch、Ifix这些SA软件做为上位机软件时,测试是个麻烦的问题,需要与实际机器连接起来才能测试,但如果有WinLC,可以把程序拷到WinLC上运行,上位机软件与WinLC联机测试,省去不少工夫,所以WinLC对于不方便进行现场测试的环境,是个不错的替代方案。WinLC既然是一套软件PLC,就能够实现PLC的功能,那么与PLC通讯也是可以实现的,
下面说一说WinLC与S7-300互连
1、新建一个项目,建立一个S7-300的站点,硬件组态;建立一个PC站点,在PC站点上增加一个WinLC和一个IEGeneral,IEGeneral的IP地址与PC机的IP地址一致,其实IEGeneral指的就是PC机的以太网卡。
2、打开NetPro,在WinLC上新建一个S7conection,指向S7-300,编译、存盘
3、在PCStation上增加WinLC和IEGeneral,需要注意槽号要与硬件配置时候一样
4、打开WinLC的OB块,调用SFB14、SFB15来读写S7-300的数据
5、启动WinLC软件,下载程序,这样就可以实现软件PLC与PLC互连了
三、两种方式的结合
如果有多台PLC需要与PC机上的SA软件通过OPC进行通讯,但是又发现SA软件读取的速度太慢,不能满足刷新要求,或者数据要做些预处理才能显示,SA软件上运行太多的脚本又影响速度,那么通过软PLC把多台PLC的数据先读过来进行预处理,SA软件只与一台PLC进行通讯,这样SA软件上的工作量会少一些。这个时候把上面说的两种方式结合一下,就能够实现这样的功能了。
1、通讯连接参照上面的方法设置
2、在WinLC的PC站点上添加一个OPC服务器,在NetPro里面打开OPC的连接列表,添加一个S7conection,指向WinLC,编译、下载
3、通过OPC客户端可以直接访问OPC服务器的内容,常用的SA软件如Intouch、Citect、IFix这些软件都支持OPC,设置访问连接就可以在软件上直接读写了,如果更简单的界面,可以自己用VB编写一个OPC客户端,读写数据都在VB程序上实现,不使用SA软件,可以省掉不少钱了。 西门子PLC的网络是适合不同的控制需要制定的,也为各个网络层次之间提供了互连模块或装置,利用它们可以设计出满足各种应用需求的控制管理网络。西门子S7系列PLC网络采用3级总线复合型结构,较底一级为远程I/O链路,负责与现场设备通信,在远程I/O链路中配置周期I/O通信机制。中间一级为Profibus现场总线或主从式多点链路。前者是一种新型现场总线,可承担现场、控制、监控三级的通信,采用令牌方式与主从轮询相结合的存取控制方式;后者为一种主从式总线,采月主从轮询式通信。较高一层为工业以太网,它负责传送生产管理信息。在工业以太网通信协议的下层中配置以802.3为核心的以太网协议,在上层向用户提供TF接口,实现AP协议与MMS协议。
PLC要提供金字塔功能或者说要实现NBS或ISO模型要求的功能,采用单层子网显然是不行的。因为不同层所实现的功能不同,所承担的任务的性质不同,导致它们对通信的要求也就不一样。在上层所传送的主要是些生产管理信息,通信报文长,每次传输的信息量大,要求通信的范围也比较广,但对通信实时性的要求却不高。而在底层传送的主要是些过程数据及控制命令,报文不长,每次通信量不大,通信距离也比较近,但对实时性及可靠性的要求却比较高。中间层对通信的要求正好居于两者之间。
PLC网络的分级与生产金字塔的分层不是—一对应的关系,相邻几层的功能,若对通信要求相近,则可合并,由一级子网去实现。采用多级复合结构不仅使通信具有适应性,而且具有良好的可扩展性,用户可以根据投资情况及生产的发展,从单台PLC到网络、从底层向高层逐步扩展。下面列举几个有代表性公司的PLC网络结构。
西门子PLCS7-200功能强大,性能可靠,然而做数学运算时却不能实现如高级语言一般做变量类型的自动转换,时常要使用手工达到BTI、ITD之类转换的目的,盘算完成后又要DTI等费时操纵,使代码行数增添,降低程序可读性,同样增加了程序运行效率的负担,技术人员供给一种可以防止利用这些指令小本领的方法,使你的代码看起来更简便,也大大降低程序扫描周期。
西门子PLCS7-200的内存格式与技术人员常用PC机恰好相反,是高字前,低字后。技术人员可以将字恒量放后两个字节,步伐初始化时将前两个字节清零(步伐别的方不利用这两个字节)。如技能职员界说标记时将字恒量界说VW2,同时维持VW0值为零。则法式中可以用VW2以字型拜候该恒量,同时也可以VD0以双字型接见,制止了范例转换。
简单分析PLCS7-200编程技术
简单列举下缀的使用实例:b----字节型恒量(byte);w----字型恒量(word);d----双字恒量(double);r----实型恒量(real);f----位恒量(flag);btn---自复位按钮式输入(button);sw----切换开关或自锁按钮输入(switch);sig---传感器、编码等电平旌旗灯号输入(**);rly---输出继电器位(relay)。这些都是个人日常使用惯例,没有定则,取决于自己区分的方法。有一个字范例恒量名为VarName,为利用转换本领,技术人员可以说:wVarName----VW2和dVarName----VD0。程序初始化时将VW0清零是不必要进行记忆变量,直接将dVarName清零也可)数据块清零VW0设置的参数。则日后需要以字类型访问变量时就使用wVarName,必要以双字类型访问变量时就参考使用dVarName。完全没有必要进行类型转换。
上述方法可以大大地减少程序语句数,使程序更加简便、可读性更好,不必要做耗时范例转换,法式运行服从也到进步。且数学运算量越大,效力进步越明显。缺陷是要多占用两字节内存,日后程序中不能御用VW0。但西门子S7-200系列RAM空间很大,一样平常是用不完,以西门子PLCCPU226为例,有多达10KRAM,。这些RAM都是费钱买来的,不用也会直接浪费。同理,有字节型恒量每每必要与字范例恒量互相转换,让字节变量独占一个字内存宽度十分浪费一个字节,杜绝类型转换
产品推荐