美文网首页乱七八糟风暴收藏
台达PLC通讯总结(RS232)

台达PLC通讯总结(RS232)

作者: cold_lemon | 来源:发表于2016-10-31 10:56 被阅读243次

    一、相关配置

    (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通讯指令送信要求发送标志置位,等待下一次指令的到来。

    相关文章

      网友评论

      本文标题:台达PLC通讯总结(RS232)

      本文链接:https://www.haomeiwen.com/subject/pyxputtx.html