首先,要进行以太网配置。其次,有的PLC,如和利时LM机,还要运行相关程序,以使能以太网模块。最后,要做好通信数据准备与使用编程(这点与串口通信编程类似)。以下以LM为例介绍其相关配置与模块使能。
1.以太网模块配置
LM机使用的以太网模块为LM3403。它的配置在“PLC配置”窗口上进行。如图6-145所示的配置是CPU模块用LM3109,扩展为LM3403以太网模块。
从图6-145可知,以太网模块的节点ID默认设置为0(因在它之前没有别的扩展模块)。当使能此模块时,须使用这个ID号。输入地址从%IW4开始(因在它之前CPU模块占用%IW0、%IW1\%IW2、%IW3),输出地址从%QW2开始(因在它之前CPU模块占用%QW0、%QW1,该图没有示出)。以太网模块的IP地址、子网掩码、网关、输入输出区大小等通信参数设定如图6-146所示。
图6-145 以太网模块LM3403的基本参数配置
图6-146 以太网模块LM3403的模块参数
IP地址(Internet Protocol Address)是分配给每个站点的32位各不相同的数字,以作为在网络上相互区分的标识。32位二进制数分成四段,每段8位,中间用小数点隔开,然后将每八位二进制数转换成十进制数。而实际上,每个IP地址是由网络号和站点号两部分组成。前者用来标识该网络在Internet上的网络号,后者用来标识该站点在该网络上的站点号。
根据网络上的站点多少,网络可分为大型、中型及小型三种。分别对应于有A类、B类、C类三种IP地址,见表6-27。
表6-27 A、B、C三类IP地址
PLC以太网都是C类。所设定的IP地址不能与其他通信站点相同,否则无法通信。
子网掩码用以判断站点的IP地址是否属于同一子网。两个站点各自的IP地址与各自子网掩码进行AND运算后,如果得出的结果是相同的,则说明这两台计算机是处于同一个子网络上的。在同一子网的站点之间可以进行直接通信。
此子网掩码必须与计算机的子网掩码一致。图6-146设的IP地址为169.254.202.1,子网掩码为“255.255.255.0”。计算后得出的169.254.202是网络号,而1是站点号。这个网络号必须与通信对方的网络号相同。
网关地址也必须与通信对方的网关地址一致。图6-146设的为“169.254.202.168”。而MAC_Address不填。
ReadDataLen_Byte为PLC接收数据的长度,此处设定为最大接收字节数200。地址为%IW4~%IW202,单号无效。WriteDataLen_Byte为PLC发送数据的长度,此处设定为最大发送字节数200。地址为%QW2~%QW200,单号无效。
2.以太网模块使能程序
Ethernet_TCP以太网功能块包含在库文件Hollysys_PLC_Ether-Net.lib中。可用于以太网模块使能及参数设置。其梯形图格式如图6-147所示,输入输出说明见表6-28。
图6-147 以太网功能块Ethernet_TCP
表6-28 以太网功能块Ethernet_TCP输入输出说明
如图6-148所示为以太网模块使能程序。以下为它使用的变量声明:(www.daowen.com)
从图6-148可知,它的地址就是图6-135设置的ID号0。当di1置位时,功能块使能,调用以太网模块。如果设置数据有效,do1置位。当di1复位时,不调用以太网模块,do1复位。
3.计算机与LM机以太网通信PLC方程序实例
图6-148 以太网模块使能程序
图6-149所示是通过计算机发送命令,使%QX0.0 ON及使%QX0.0OFF及读取%MW100数据的PLC程序。当然在运行此程序之前,还需要对PLC硬件进行如图6-135和图6-136所示的配置。
图6-149中节1为使能以太网模块。节2、3为利用以太网的输入点置位、复位%QX0.1。节4为把要读的字%MW308的值赋值给以太网模块的输出字%QW4,以便计算机读取。
而计算机方的程序主要是针对以太网的读、写区,进行读或写命令的发送,然后接收PLC的应答。结合本例有3个命令:
1.使%IX4.0ON以使%QX0.0置位
计算机命令为“0x00、0x00、0x00、0x00、0x00、0x06、0x00、0x05、0x00、0x00、0xFF、0x00”。其含义是从模块IP地址指定的站点,强制(由第8字节指定)%QW4.0(由第9、10字节指定)的1个位为1(由第11、12字节指定)。
PLC收到此命令后,将使%QW4.0置位,并作与命令码相同的回应。
图6-149 以太网模块使能程序
2.使%IX8.1ON以使%QX0.1复位
计算机命令为“0x00、0x00、0x00、0x00、0x00、0x06、0x00、0x05、0x00、0x01、0xFF、0x00”。其含义是从模块IP地址指定的站点,强制(由第8字节指定)%QW4.1(由第9、10字节指定)的1个位为1(由第11、12字节指定)。
PLC收到此命令后,将使%QW4.0置位,并作与命令码相同的回应。
3.读取%QW4以间接读取MW308的内容
计算机命令为“0x00、0x00、0x00、0x00、0x00、0x06、0x00、0x04、0x00、0x01、0x00、0x01”。其含义是从模块IP地址指定的站点,读取(由第8字节指定)%QW4(由第9、10字节指定)的1个字由第11、12字节指定)的数据。
PLC收到此命令后,若%MW308当前内容为65535,即%QW4也为65535,则将作如下回应:“0x00、0x00、0x00、0x00、0x00、0x05、0x00、0x04、0x02、0xFF、0xFF”。其中:
第1~5字节同命令码。
第6字节指定在此后有5个字节。
第7、8字同命令码。第9节为数据字节数。
第10、11字节为数据,这里为65535。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。