PC与S7-200的自定义通信协议实现——可——编——程——控-制-器-技——术——门——户
PC与S7-200的自定义通信协议实现P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
1)协议功能WWW.PLCJS.COM——可编程控制器技术门户
实现读/写I,Q ,VR,M区功能,读最大数据量为246(255-9)个字节,写数据量最大为255字节,帧格式为16进制形式,对于其他功能可以在SBR3中添加相应实现代码。P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
注:a)写数据量受PLC的VB区大小和指令限制,协议可以实现1个字的操作WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
b)写IB区后实际上输入的是脉冲信号,不能保持——可——编——程——控-制-器-技——术——门——户
C)地址/数据都是高位在前,低位在后WW.W_PLC※JS_C,OM-PL,C-技.术_网
P.L.C.技.术.网——可编程控制器技术门户
2)帧格式(fig1)P.L.C.技.术.网——可编程控制器技术门户
WWW_PLCJS_COM-PLC-技.术_网
W1WW_P4LCJS_COM-PLC-技.术_网
错误代码定义P.L.C.技.术.网——可编程控制器技术门户
写命令成功 ―― 00WWcW_PLCJS_COM-PLC-技.术_网
帧格式错误 ―― 01 WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
帧校验错误 ―― 02WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
超时错误 ―― 03WWW_P※LCJS_COM-PLC-)技.术_网
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
3)协议流程WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
实现以上协议的程序流程(fig2)。WWW_PLCJS_COM-PLC-技.术_网
WW.W_PLCJS_COM-PLC-技.术_网
P.L.C.技.术.网——可编程控制器技术门户
4)变量说明WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
M 31.0 帧头标志(一帧的起始)WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
M 31.1 接收到一帧标志WWW.PLCJS.COM——可编程控制器技术门户
T 37 通信超时计时器(5秒)——可——编——程——控-制-器-技——术——门——户
VB 1401-1699 接收到的命令帧WWW_PLCJS@_COM%-PLC-技.术_网
VB 1700- 发送缓冲区(VB1700为响应帧的大小,VB1701-1955为发送数据)P.L.C.技.术.网——可编程控制器技术门户
VD 2000(vb 2000-2003)接收缓冲区的指针(指向VB1401开始的数据区域)WWcW_PLCJS_COM-PLC-技.术_网
VW 2004 接收字符计数器WWW_P※LCJS_COM-PLC-)技.术_网
VB 2006 接收到的命令帧的BCC值W1WW_P4LCJS_COM-PLC-技.术_网
VW 2007 命令帧长度WWW_PLCJS_COM-PLC-技.术_网
VD 2010 (vb 2010-2013) 响应帧的指针变量 (指向VB1701开始的数据区域)WWW_P※LCJS_CO※M-PLC-技-.术_网
VB 2014 响应帧的校验值P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
VB 2015 错误代码W1WW_P4LCJS_COM-PLC-技.术_网
VD 2020 (vb 2020-2023) I/Q/VB/M 源地址W1WW_P4LCJS_COM-PLC-技.术_网
VD 2024 (vb 2024-2027) 读/写操作地址WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
VD 2030(vb2030-2033) 偏移地址中间变量WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
VW 2034 循环指令的Index变量WWW_P※LCJS_CO※M-PLC-技-.术_网
VW 2036 求校验数据大小变量(帧长度减去2 即bcc校验和结束符)WWW_PLC※JS_COM-PmLC-技.术_网
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
5)程序模块说明P.L.C.技.术.网——可编程控制器技术门户
MAIN 主程序WWW_PL※CJS_COM-PLC-技.术_网
SBR 0 通信初始化(调用子程序1) WWW_PLCJS_COM-PLC-技.术_网
SBR 1 缓冲区初始化WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
SBR 2 命令帧分析(命令帧无错,调用子程序3,否则调用SBR4)WWcW_PLCJS_COM-PLC-技.术_网
SBR 3 组织响应帧并发送到串口P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
SBR 4 发送错误响应帧(错误代码为00时表示写操作成功)WW.W_PLCJS_COM-PLC-技.术_网
INT 0 接收中断程序(在缓冲区存放命令帧,要求前一命令帧已经处理完)WW.W_PLCJS_COM-PLC-技.术_网
INT 1 发送完中断程序(调用SBR1清空缓冲区)WWW.PLCJS.COM——可编程控制器技术门户
WW.W_PLC※JS_C,OM-PL,C-技.术_网
6)调试界面P.L.C.技.术.网——可编程控制器技术门户
作者写的一个与S7-200 PLC 调试工具的界面(fig3)。在参数设置中可以设定发送间隔和发送次数,显示可设置为16进制或ASCII码方式。WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
WWW_P※LCJS_COM-PLC-)技.术_网
作者写的一个与串口调试工具的界面(fig4),可以发送16进制字符串和ASCII码字符串。在参数设置中可以设定发送间隔和发送次数。WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
——可——编——程——控-制-器-技——术——门——户
7)结束语WW.W_PLCJS_COM-PLC-技.术_网
上位机软件用了通信控件:spcomm(免费控件,很好注册),在DELPHI下非常好用(用它进行文件传输的结果也比较满意)。试验表明本协议的实现在可靠性、实时性和通信数据量上基本满足了上位机数据采集的需要。WW.W_PLC※JS_C,OM-PL,C-技.术_网
plcjs.技.术_网
Name: 施奇峰 E-mail:nuststeven@263.net stevenboy@163.netWWW_P※LCJS_COM-PLC-)技.术_网
TEL: 025-4312851 Addr: 南京理工大学自动化研2000 Date: 2001/9/20WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
WWW_PLCJS_COM-PLC-技.术_网
注:本文为施奇峰所作,版主杜学强协助对图片进行了整理,感谢施奇峰的奉献。WWcW_PLCJS_COM-PLC-技.术_网
plcjs.技.术_网
顺便说一下,各位网友好的帖子中若有图片,不便直接发布,可发至xq-du@yeah.net,本人非常荣兴地为您服务,以便网友得到更大收益。请发纯文本文件,每个图片直分别作成GIF格式文件并标明图号,在文本中标记各图的位置,每篇至多3个图片。谢谢! ——可——编——程——控-制-器-技——术——门——户
以下是对《PC与S7-200的自定义通信协议实现》的回复:
WWW_PLCJS@_COM%-PLC-技.术_网
匿名回复:plcjs.技.术_网
请问可以购买你的plc源代码吗?请开个价 ——可——编——程——控-制-器-技——术——门——户
匿名回复:WWcW_PLCJS_COM-PLC-技.术_网
plc源代码我有,但通信协议有点差别.不知道LAIZH有兴趣吗 WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
匿名回复:P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
请与我联系:13974757652 WW.W_PLC※JS_C,OM-PL,C-技.术_网
匿名回复:P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户