PC与S7-200的自定义通信协议实现

[复制链接]
查看40442 | 回复248 | 2006-8-27 23:07:00 | 显示全部楼层 |阅读模式
[replyview] PC与S7-200的自定义通信协议实现
  
  1)协议功能
   实现读/写I,Q ,VR,M区功能,读最大数据量为246(255-9)个字节,写数据量最大为255字节,帧格式为16进制形式,对于其他功能可以在SBR3中添加相应实现代码。
   注:a)写数据量受PLC的VB区大小和指令限制,协议可以实现1个字的操作
   b)写IB区后实际上输入的是脉冲信号,不能保持
   C)地址/数据都是高位在前,低位在后
  
  2)帧格式(fig1)
  

   错误代码定义
   写命令成功 ―― 00
   帧格式错误 ―― 01
   帧校验错误 ―― 02
   超时错误 ―― 03
  
  3)协议流程
   实现以上协议的程序流程(fig2)。
  

  4)变量说明
   M 31.0 帧头标志(一帧的起始)
   M 31.1 接收到一帧标志
   T 37 通信超时计时器(5秒)
   VB 1401-1699 接收到的命令帧
   VB 1700- 发送缓冲区(VB1700为响应帧的大小,VB1701-1955为发送数据)
   VD 2000(vb 2000-2003)接收缓冲区的指针(指向VB1401开始的数据区域)
   VW 2004 接收字符计数器
   VB 2006 接收到的命令帧的BCC值
   VW 2007 命令帧长度
   VD 2010 (vb 2010-2013) 响应帧的指针变量 (指向VB1701开始的数据区域)
   VB 2014 响应帧的校验值
   VB 2015 错误代码
   VD 2020 (vb 2020-2023) I/Q/VB/M 源地址
   VD 2024 (vb 2024-2027) 读/写操作地址
   VD 2030(vb2030-2033) 偏移地址中间变量
   VW 2034 循环指令的Index变量
   VW 2036 求校验数据大小变量(帧长度减去2 即bcc校验和结束符)
  
  5)程序模块说明
   MAIN 主程序
   SBR 0 通信初始化(调用子程序1)
   SBR 1 缓冲区初始化
   SBR 2 命令帧分析(命令帧无错,调用子程序3,否则调用SBR4)
   SBR 3 组织响应帧并发送到串口
   SBR 4 发送错误响应帧(错误代码为00时表示写操作成功)
   INT 0 接收中断程序(在缓冲区存放命令帧,要求前一命令帧已经处理完)
   INT 1 发送完中断程序(调用SBR1清空缓冲区)
  
  6)调试界面
   作者写的一个与S7-200 PLC 调试工具的界面(fig3)。在参数设置中可以设定发送间隔和发送次数,显示可设置为16进制或ASCII码方式。
  

   作者写的一个与串口调试工具的界面(fig4),可以发送16进制字符串和ASCII码字符串。在参数设置中可以设定发送间隔和发送次数。
  


  7)结束语
   上位机软件用了通信控件:spcomm(免费控件,很好注册),在DELPHI下非常好用(用它进行文件传输的结果也比较满意)。试验表明本协议的实现在可靠性、实时性和通信数据量上基本满足了上位机数据采集的需要。
  
  Name: 施奇峰  E-mail:nuststeven@263.net stevenboy@163.net
  TEL: 025-4312851 Addr: 南京理工大学自动化研2000 Date: 2001/9/20
  
   注:本文为施奇峰所作,版主杜学强协助对图片进行了整理,感谢施奇峰的奉献。
  
   顺便说一下,各位网友好的帖子中若有图片,不便直接发布,可发至xq-du@yeah.net,本人非常荣兴地为您服务,以便网友得到更大收益。请发纯文本文件,每个图片直分别作成GIF格式文件并标明图号,在文本中标记各图的位置,每篇至多3个图片。谢谢!

[/replyview]
ljq666 | 2006-8-28 10:17:00 | 显示全部楼层

很想学习

norman921 | 2006-8-29 22:55:00 | 显示全部楼层
haode
doesdoes | 2006-9-1 17:18:00 | 显示全部楼层
DING
shan0848 | 2006-9-2 15:22:00 | 显示全部楼层

????

我想看看

pcfan | 2006-9-14 14:28:00 | 显示全部楼层
看看,谢谢
wblzyz | 2006-9-16 18:21:00 | 显示全部楼层
ok
whq023311 | 2006-9-19 16:44:00 | 显示全部楼层

yangman | 2006-9-30 09:44:00 | 显示全部楼层
huifukejian
pyqppp | 2006-10-1 09:37:00 | 显示全部楼层
学习
pyqppp | 2006-10-1 09:47:00 | 显示全部楼层
学习
xsh2@sina.com | 2006-10-7 18:07:00 | 显示全部楼层
顶一下
lwqlovewyl | 2006-10-11 17:27:00 | 显示全部楼层
ggggggg
yange2367 | 2006-10-13 11:47:00 | 显示全部楼层
很想学习一下
wutong333893 | 2006-10-13 14:42:00 | 显示全部楼层
kankan
hclqf | 2006-10-14 18:06:00 | 显示全部楼层
[em01][em01]
qijunyang | 2006-10-15 08:26:00 | 显示全部楼层
huifukejian
romandlv | 2006-10-26 09:11:00 | 显示全部楼层
正需要啊,及时
jacklee888 | 2006-10-31 21:17:00 | 显示全部楼层

谢谢啊

serendipity_w | 2006-11-2 16:40:00 | 显示全部楼层
看看先,
zhang999 | 2006-11-5 00:10:00 | 显示全部楼层
好东西
tslzl | 2006-11-6 14:48:00 | 显示全部楼层
ddddddddddddddddd
timmyway | 2006-11-10 13:44:00 | 显示全部楼层

??

7456
luohuayang | 2006-11-16 08:40:00 | 显示全部楼层
learn
xinchen124 | 2006-11-17 18:29:00 | 显示全部楼层
学习了![em01]
mahonghui | 2006-11-21 11:27:00 | 显示全部楼层

学习

一下!!

支持一下!!

pxhlm | 2006-11-23 14:45:00 | 显示全部楼层
hao
restrong-tech | 2006-11-23 15:11:00 | 显示全部楼层

现手头有项目,请问S7-400H冗于热备系统及与以太网的连接如何硬件配置?急急!如果您感兴趣,可以合作!!(13921151819)

wupper888 | 2006-11-24 18:01:00 | 显示全部楼层
dingding, thanks
c-v78 | 2006-11-24 18:37:00 | 显示全部楼层
xiaolizi0725 | 2006-11-24 21:33:00 | 显示全部楼层

好不好,看来再说啊

tsljkly | 2006-11-26 13:50:00 | 显示全部楼层
想学学
lingooplay | 2006-12-11 03:58:00 | 显示全部楼层
dddddddddddddddddddddddd[em01][em01]
lingooplay | 2006-12-11 04:03:00 | 显示全部楼层
以下是引用bsmtlxw在2006-8-27 23:07:00的发言:

kbd

cx4111 | 2006-12-14 21:46:00 | 显示全部楼层
俺想看看 给俺看看吗
zl6079 | 2006-12-14 23:39:00 | 显示全部楼层
yao[em01]
jtlyxh | 2006-12-18 12:48:00 | 显示全部楼层
看看
alpha_88 | 2007-1-10 11:14:00 | 显示全部楼层
让我看看
yyplc | 2007-1-16 23:09:00 | 显示全部楼层

厚道

看看

njxiong | 2007-1-16 23:25:00 | 显示全部楼层

ok

thomas5858 | 2007-1-25 23:25:00 | 显示全部楼层
[em01][em02][em03][em04]
zsl1982707 | 2007-2-2 15:30:00 | 显示全部楼层
kankan
qjs0317 | 2007-2-3 00:51:00 | 显示全部楼层
谢谢!
lg11360414 | 2007-2-3 08:56:00 | 显示全部楼层
gfgsfdgfdsgfdsgfdgfdgdsfgfd[em04][em04]
cxf2000 | 2007-2-26 09:36:00 | 显示全部楼层
[em06]
hunyuanqi | 2007-2-28 09:56:00 | 显示全部楼层

????

学习一下
wanhesongfeng | 2007-2-28 10:06:00 | 显示全部楼层
[em21]
wanhesongfeng | 2007-2-28 10:07:00 | 显示全部楼层
1111111111
mouse00000 | 2007-3-16 11:45:00 | 显示全部楼层
路过学习中
gehongjun | 2007-3-16 12:02:00 | 显示全部楼层
[em12]
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则