之前在网上看到类似的案例但都不完整,今天自己有个倍速链项目刚好用到,做个案例,希望能帮助到后来者,少走弯路。
首先是硬件接线,可以用DVP12SE的RS485接口(PLC电源接口旁边的那个口,实际上就是PLC 的COM2口),用3根线,“+”、“-”、“SG”分别对应接6070IP的9针接口的1、2、5脚。也可以用DVP12SE的COM3口(在输出端子的下端,写着COM3+,COM3-,SG)。这里采用COM2口,就是写着RS485的那个口。其次是威纶触摸屏的设置,新建6070IP后,E8000里的设置,编辑-系统参数设置,如图:
图1
图2
图3
注意:PLC 站号默认为0,要改成1
最后是DVP12SE的端口设置,用RS485通讯要在程序写命令设置,设置如图:
COM3口的设置
COM2口的设置
解释一下命令的含义,需要的,自己更改,这里以COM2为例:
1、设置COM2的通讯格式—D1120
D1120 COM2(RS-485)主站或从站通讯协议,b7~b4:(H8:9600 bps),b3(0:1 stop bit,
1:2 stop bits),b2、b1(00:无校验,01:奇校验,11:偶校验),b0(0:7位数据,1:8位数据),如H87=(9600,8,E,1,RTU)
(对于COM3类似如下:D1109 COM3(RS-485)主站或从站通讯协议,b7~b4:(H8:9600 bps),b3(0:1 stop bit,1:2 stop bits),b2、b1(00:无校验,01:奇校验,11:偶校验),b0(0:7位数据,1:8位数据),如H87=(9600,8,E,1,RTU))
补充:
MOV H86 D1120 这句话是设置PLC通讯方式的:
波特率9600 ,校验方式:偶校验 ,数据位:7位 ,停止位:1位
b0:数据长 b0=0:7 b0=1:8
b2 b1: 奇偶性
b2, b1 = 00 : 无 (None)
b2, b1 = 01 : 奇校验 (Odd)
b2, b1 = 11 : 偶校验 (Even)b3: 停止位
b3 = 0:1 bit
b3 = 1:2 bitb4b5b6b7 波特率
b7 ~ b4 = 0001 (H1) : 110 bps
b7 ~ b4 = 0010 (H2) : 150 bps
b7 ~ b4 = 0011 (H3) : 300 bps
b7 ~ b4 = 0100 (H4) : 600 bps
b7 ~ b4 = 0101 (H5) : 1200 bps
b7 ~ b4 = 0110 (H6) : 2400 bps
b7 ~ b4 = 0111 (H7) : 4800 bps
b7 ~ b4 = 1000 (H8) : 9600 bps
b7 ~ b4 = 1001 (H9) : 19200 bps
b7 ~ b4 = 1010 (HA) : 38400 bps
b7 ~ b4 = 1011 (HB) : 57600 bps
b7 ~ b4 = 1100 (HC) : 115200 bps
2、设置通讯超时时间—D1129
这里设置为十进制100MS,注意应该与E8000里的通讯端口设置(图3)保持一致
3、PLC的COM2的通讯地址设置—D1121
这里设置为1,要与E8000里触摸屏的设置保持一致(即之前说的PLC预设站号应为1,图2)
4、COM2的通讯模式设定—M1143
0为ASCII,1为RTU,这里设置为0
5、COM2的通讯模式保持—M1120
0为不保持,1为保持
这里应该设置为1(因为不需要变更,上电扫描执行1次)