一、相关配置
(1)PLC型号:DVP-ES2(40ES200T,24DI16DO);
(2)线缆:USBACAB230,USB TO RS232 ADAPTER FOR DVP ES;
二、基本原理说明
(1)通讯口
COM1:RS-232 通讯口,可做主站或从站。为主要的程序编辑通讯口。(SE 主机不适用);ES机型仅作为从站(Slave)使用,支持ASCII/RTU 通讯格式,支持可调整波特率,速率最高可达115200 bps,及修改数据位长度 ( Data bits, Paritybits, Stop bits )。
COM2: RS-485 通讯口,可做主站或从站;
ES2/EX2/SA2/SE COM3: RS-485 通讯口,可做主站或从站(DVP-ES2-C 机种 COM3 为CANopen通讯端口);
SX2 COM3: 为USB 转RS232 的通讯口, 仅可做从站;
以上主机之COM1~COM3 通讯口可用于 Modbus ASCII 或RTU 模式通讯。
(2)通讯结构
COM通讯结构通讯口的默认通讯格式(9600,7,e,1)
− Modbus ASCII 模式
− 7 个数据位
− 1 个停止位
− 偶校验位 (EVEN)
− 9600bps 波特率
(3)COM1 端口脚位定义与图示
COM1 脚位 COM1图示(4)COM1使用到的特殊辅助继电器(特M)及特殊数据寄存器(特D)
M1024:COM1 监视要求;
M1138: COM1(RS-232)通讯设定保持,设定后D1036 变更无效;
M1139: SLAVE 模式时,COM1(RS-232) 的ASCII/RTU 模式选择 (Off:ASCII 模式,On:RTU 模式)。MASTER 模式时,COM1(RS-232) 的ASCII/RTU 模式选择 (配合MODRW 指令使用,Off:ASCII 模式,On:RTU 模式)。
M1312: COM1(RS-232)通讯指令送信要求发送标志(仅支持MODRW、RS 指令);当使用者要利用RS指令将数据传送与接收,必须用脉冲指令将M1312设为On,若上述指令开始执行,则PLC 执行数据传送接收的动作。当上述指令执行数据传送完毕后会自动将M1312清除(使用者设置,系统自动清除)。
M1313: COM1(RS-232)通讯指令接收等待中标志(仅支持MODRW、RS 指令);
M1314: COM1(RS-232)通讯指令数据接收完毕标志(仅支持MODRW、RS 指令);接收完毕,当RS指令执行完毕后会将M1314设为On,使用者在程序中可利用M1314为On 时,处理所接收到的数据。当接收到的数据处理完毕后,必须将M1314清除为Off(系统自动设置,使用者清除)。
M1315: COM1(RS-232)通讯指令数据接收错误标志(仅支持MODRW、RS 指令);
D1036: COM1 通讯协议(出厂默认值为H86);
D1249: COM1 通讯指令通讯接收逾时设定(单位:1ms,最小值为50ms,小于50ms 以50ms 算)(仅支持MODRW/ RS 指令)RS 指令:0 表示不设定逾时时间;
D1250: COM1 通讯指令通讯接收错误代码(仅支持MODRW /RS 指令)。
(5)通讯协议设置方法
通讯协议设置方法在程序第一次运行时,第一次扫描时间,会侦测M1138 是否有On ,若有则会依据D1036 的设置值去更改COM1 的相关设置。梯形图如下:
COM1通讯设置说明:
M1002:PLC 开始RUN 的第一次扫描On,之后保持为Off。该脉冲的宽度为一次扫描时间,当要作各种初始设置工作时使用本接点。当通讯格式修改完成后,将PLC 由RUN→STOP,通讯格式不会变化。当通讯格式修改完成后,PLC 电源关闭之后再上电就会回复到出厂设置的通讯格式。
16#0086:表示H86;
(6)RS串行数据传送
参数:
S:传送数据的起始装置。 m:传送数据的笔数。
D:接收数据的起始装置。 n:接收数据的笔数。
指令说明:
》若不需要传送数据时,可将 m 指定为K0,若不需要接收数据时,可将 n 指定为K0。
》本指令于程序中使用次数并无限制,但是同时间仅有一个指令被执行。
三、实际应用范例
在台达应用技术手册以及【101例】中并没有提及利用COM1通过RS-232进行通讯的实例。通过尝试,利用PLC程序下载线,实现PLC与上位通讯,以下是实现此次实例的主要流程。
(1)设置通讯格式、通讯格式保持、ASCII模式、不设定逾时时间
COM1通讯设置(2)置位送信要求发送标志
送信要求发送标志M30此处为初始化(或者接收数据前准备工作)结束标志,将M1312置位,等待接收数据,同时会将RS指令中要发送的数据发送出去。
(3)RS指令
RS指令M0为总开关继电器,程序一开始就会启动RS指令,但不会发送与接收,需要M1312置位,才会执行RS指令中数据的上传与等待上位下发指令。上传的数据为数据寄存器D200中的内容(数据长度为16 位,最高位为正负号,可储存-32,768~+32,767 的数值数据)。接收到的数据会存储在D300~D304五个数据寄存器中(若接收数据不够,会继续等待接收,只有将五个数据寄存器填满才会将数据接收完毕标志M1314置位)。
关于发送的数据格式---待更新
(4)数据接收完毕标志
数据接收完毕标志数据接收完毕,M1314置位为on,导通继电器M1,执行接收的数据指令
(5)清除数据接收完毕标志,置位送信要求发送标志
各个工作结束标志M11~M16为各个工作结束标志,结束后开始计时1s。
清除数据接收完毕标志,置位送信要求发送标志计时结束后,复位M11~M16。复位M1,当接收到的数据处理完毕后,必须将M1314清除为Off,并且将M1312通讯指令送信要求发送标志置位,等待下一次指令的到来。