永宏PLC的编程口协议和ModBus协议
最近有一个工程是四组步进电机的,后来找了找,好像只有永宏的PLC才有四组高速脉冲输了,于是买来用了用。因为要和上位机通讯,所以整理了相关的通讯协议供大家参考。(DEMO的程序已做好,正在测试中)
PLC状态
发:02 30 31 34 30 43 37 03
收:02 30 31 34 30 30 30 31 34 30 30 30 31 43 03
发:02 30 31 34 30 43 37 03
收:02 30 31 34 30 30 30 31 34 30 30 30 31 43 03
PLC运行:
发:02 30 31 31 41 31 30 36 03
收:02 30 31 31 41 30 30 35 03
//////////////////////////////
发:02 30 31 34 31 31 46 39 03
收:02 30 31 34 31 30 46 38 03
//////////////////////////////
发:02 30 31 31 41 31 30 36 03
收:02 30 31 31 41 30 30 35 03
//////////////////////////////
发:02 30 31 34 31 31 46 39 03
收:02 30 31 34 31 30 46 38 03
//////////////////////////////
PLC停止
发:02 30 31 31 41 30 30 35 03
收:02 30 31 31 41 30 30 35 03
//////////////////////////////
发:02 30 31 34 31 30 46 38 03
收:02 30 31 34 31 30 46 38 03
//////////////////////////////
发:02 30 31 31 41 30 30 35 03
收:02 30 31 31 41 30 30 35 03
//////////////////////////////
发:02 30 31 34 31 30 46 38 03
收:02 30 31 34 31 30 46 38 03
//////////////////////////////
写X0016单点抑能至能状态//好像无效//
发:02 30 31 34 32 31 58 30 30 31 36 31 39 03
收:02 30 31 34 32 30 46 39 03
写单点强制复位Y10为ON
发:02 30 31 34 32 33 59 30 30 31 30 31 36 03
收:02 30 31 34 32 30 46 39 03 字串6
复位为OFF
发:02 30 31 34 32 34 59 30 30 31 30 31 37 03
收:02 30 31 34 32 30 46 39 03
发:02 30 31 34 32 33 59 30 30 31 30 31 36 03
收:02 30 31 34 32 30 46 39 03 字串6
复位为OFF
发:02 30 31 34 32 34 59 30 30 31 30 31 37 03
收:02 30 31 34 32 30 46 39 03
读Y10-Y16 7个单点抑能至能状态,多个连续单点抑能至能状态
发:02 30 31 34 33 30 37 59 30 30 31 30 34 42 03
收:02 30 31 34 33 30 30 30 30 30 30 30 30 34 41 03
发:02 30 31 34 33 30 37 59 30 30 31 30 34 42 03
收:02 30 31 34 33 30 30 30 30 30 30 30 30 34 41 03
读X50开始的6个输入点状态 多个连续单点状态
发: 02 30 31 34 34 30 36 58 30 30 35 30 34 45 03
收:02 30 31 34 34 30 30 30 30 30 30 30 31 42 03
发: 02 30 31 34 34 30 36 58 30 30 35 30 34 45 03
收:02 30 31 34 34 30 30 30 30 30 30 30 31 42 03
写从Y0-Y4的输出状态Y0Y3为ON,Y1Y4为OFF
发:02 30 31 34 35 30 34 59 30 30 30 30 31 30 30 31 30 42 03
收:02 30 31 34 35 30 46 43 03
发:02 30 31 34 35 30 34 59 30 30 30 30 31 30 30 31 30 42 03
收:02 30 31 34 35 30 46 43 03
读取16位缓存器R12-R14 3个缓存器资料
发: 02 30 31 34 36 30 33 52 30 30 30 31 32 37 35 03
收:02 30 31 34 36 30 "30 30 30 30 "30 30 30 30 "30 30 30 30 "33 44 03
发: 02 30 31 34 36 30 33 52 30 30 30 31 32 37 35 03
收:02 30 31 34 36 30 "30 30 30 30 "30 30 30 30 "30 30 30 30 "33 44 03
写入2个连续的16位缓存器WY8 WY24之资料aaaa 和5555
发:02 30 31 34 37 30 32 57 59 30 30 30 38 41 41 41 41 35 35 35 35 38 30 03
收:02 30 31 34 37 30 46 45 03
发:02 30 31 34 37 30 32 57 59 30 30 30 38 41 41 41 41 35 35 35 35 38 30 03
收:02 30 31 34 37 30 46 45 03
多个单点状态与缓存器混合读取R1 Y9 DWM0 字串8
发:02 30 31 34 38 30 33 52 30 30 30 30 31 59 30 30 30 39 44 57 4D 30 30 30 30 33 46 03
收:02 30 31 34 38 30 "30 30 30 30" 30 "30 30 30 30 30 30 30 30 "36 46 03
发:02 30 31 34 38 30 33 52 30 30 30 30 31 59 30 30 30 39 44 57 4D 30 30 30 30 33 46 03
收:02 30 31 34 38 30 "30 30 30 30" 30 "30 30 30 30 30 30 30 30 "36 46 03
多个单点状态与缓存器混合写入Y0为ON Y1为OFF 16位WM8为5555H,32位DR2为FFH
发:02 30 31 34 39 30 34 59 30 30 30 30 31 59 30 30 30 31 30 57 4D 30 30 30 38 35 35 35 35 44 52 30 30 30 30 32 30 30 30 30 30 30 46 46 33 43 03
收:02 30 31 34 39 30 30 30 03
发:02 30 31 34 39 30 34 59 30 30 30 30 31 59 30 30 30 31 30 57 4D 30 30 30 38 35 35 35 35 44 52 30 30 30 30 32 30 30 30 30 30 30 46 46 33 43 03
收:02 30 31 34 39 30 30 30 03
命令回传或测试回传发送ABCDEFG,收到ABCDEFG
发:02 30 31 34 45 41 42 43 44 45 46 47 42 38 03
收:02 30 31 34 45 41 42 43 44 45 46 47 42 38 03
发:02 30 31 34 45 41 42 43 44 45 46 47 42 38 03
收:02 30 31 34 45 41 42 43 44 45 46 47 42 38 03
程序读取:
发:
收:
发:
收:
程序下载
发:
收:
发:
收:
PLC详细状态读取
发:02 30 31 35 33 43 42 03
收:02 30 31 35 33 30 "30 31 "30 31 "30 35 "34 34 "38 30 "30 30 "30 31" 30 30" 30 31" 30 30" 30 30 "36 34" 30 30 "36 34 "30 37 "44 32" 30 33 "45 38 "30 30 "30 30" 31 46" 38 38" 31 30 "30 30" 30 31 "30 30 "30 31 "30 30" 30 30 "30 30 "30 30 "30 30 "30 30 "30 30 "30 30 "30 30" 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 "38 46 "03
发:02 30 31 35 33 43 42 03
收:02 30 31 35 33 30 "30 31 "30 31 "30 35 "34 34 "38 30 "30 30 "30 31" 30 30" 30 31" 30 30" 30 30 "36 34" 30 30 "36 34 "30 37 "44 32" 30 33 "45 38 "30 30 "30 30" 31 46" 38 38" 31 30 "30 30" 30 31 "30 30 "30 31 "30 30" 30 30 "30 30 "30 30 "30 30 "30 30 "30 30 "30 30 "30 30" 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 "38 46 "03
字串7
说明:对应的ASCII码
0-9 为30-39;A-G为41-47;H-N为4A-4G;RSTUVWXYZ为52-60
说明:对应的ASCII码
0-9 为30-39;A-G为41-47;H-N为4A-4G;RSTUVWXYZ为52-60
----------------------------------------------------------------------------------
ModBus RTU从站协议说明:
1、PORT1口定义为ModBus RTU通讯方式。
2、波特率9600,8位数据位,偶检验,1停止位。
3、通讯协议:站号+命令码+DATA起始地址+数据长度+CRC检验
4、例:01 03 00 00 00 04 44 09 连续读取R0-R3缓存器数据。
5、命令码:01读连续多个单点;03读连纽多个缓存器;05写入单个单点
06写个单个缓存器;0F写个多个单点;10写个多个缓存器
1、PORT1口定义为ModBus RTU通讯方式。
2、波特率9600,8位数据位,偶检验,1停止位。
3、通讯协议:站号+命令码+DATA起始地址+数据长度+CRC检验
4、例:01 03 00 00 00 04 44 09 连续读取R0-R3缓存器数据。
5、命令码:01读连续多个单点;03读连纽多个缓存器;05写入单个单点
06写个单个缓存器;0F写个多个单点;10写个多个缓存器
普通寄存器对表
Y0-Y255 00001-00256
X0-X256 01001-01256
Y0-Y255 00001-00256
X0-X256 01001-01256
本文标签:永宏PLC的编程口协议和ModBus协议
* 由于无法获得联系方式等原因,本网使用的文字及图片的作品报酬未能及时支付,在此深表歉意,请《永宏PLC的编程口协议和ModBus协议》相关权利人与机电之家网取得联系。