当前位置:
工控论坛
> >
产品
>
PLC
>
西门子(Siemens)PLC
我要发帖
请教高手:关于S7-200的RS-485通讯
点击:
1709
| 回复:
2
工控行业E..
关注
私信
精华:0帖
求助:0帖
帖子:9帖 | 13回
年度积分:0
历史总积分:68
注册:2002年11月09日
发表于:2002-12-24 13:19:00
楼主
大家好,有谁知道S7-200 PLC的RS-485通讯如何设置参数以及如何收发?谢谢! XMT发送,可接收的RCV应如何调用,直接发完就收,还是用中断?我要把参数设为:9600,e,8,1 急!急!!急!!! E-Mail:chengb520@163.com
分享到:
收藏
邀请回答
回复楼主
举报
pingyu
关注
私信
精华:0帖
求助:0帖
帖子:3帖 | 67回
年度积分:0
历史总积分:91
注册:2002年3月13日
发表于:2002-12-21 14:57:00
1楼
找本200的手册,上面有自由口通讯的例子。
回复
引用
举报
杜学强
关注
私信
精华:13帖
求助:0帖
帖子:29帖 | 536回
年度积分:0
历史总积分:880
注册:2001年6月09日
发表于:2002-12-24 13:19:00
2楼
S7-200的自由口通讯需要自定协议。 一、确认通讯协议 通讯帧的格式可以参照这个:[起始字符][站号][命令][起始地址][字节数][校验码][结束符]。 例如:我们需要读取VB100~VB110的数据,仿照OMRON的Hostlink通讯协议(我觉得这个协议比较好用),通过ASCII方式进行通讯,那么命令格式可以是这样的:@00RV0100000540*[enter]。也就是读取V存储区从地址100开始连续5个字的内容。 其中“@”字符代表命令的起始符,“00”代表站点号为0,“RV”就是读取V存储区的命令,0100就是起始地址,0005代表数据长度为5个字,40是FCS校验码,是FCS前面所有字符的ASCII码逐位异或,并转换为16进制的结果。*和Enter就是命令结束符,一个*加一个回车符。。查询其他数据区以及写数据的命令格式在此我就不再详述了,都差不多(详细可以参考OMRON的编程手册)。 二、计算机端的数据解码。 以下以Delphi下的SPComm控件为例(VB下的MSComm应该类似):当串口接收到数据时,RS232的控件会产生一个OnReceiveData事件,并返回缓冲区的指针以及数据长度。 1.检测数据帧是否以“@”开始的,站点号是否正确。 2.计算一下FCS,是否和数据帧中的FCS一样。 3.根据数据帧中的命令,取出数据帧中的数据,并对数据进行解码。 三、其他 如果采用RS485网络,还需在RS232串口测增加RS232/485转换器。可与我联系:xq-du@yeah.net.
回复
引用
举报
热门招聘
相关主题
win8系统怎么装西门子plc编程...
[12309]
求助PLC如何存储大量数据
[11720]
30了,学PLC还有用吗?
[16001]
急需PLC资料、编程手册及软件...
[22366]
请教基恩士PLC的故障代码ERR...
[9113]
三菱plc功能指令
[8921]
被催款了,各位工控大神有认识...
[25674]
编码器计数不准原因
[11292]
向您介绍一种专业电气绘图软...
[14140]
求一款简单的电气画图软件!!...
[13406]
官方公众号
智造工程师
客服
小程序
公众号