PLC自由口模式下与计算机的通信

已锁定

liunian021

  • 帖子

    14
  • 精华

    0
  • 被关注

    2

论坛等级:新手

注册时间:2008-10-05

普通 普通 如何晋级?

PLC自由口模式下与计算机的通信

672

2

2010-05-18 21:27:16

PLC自由口模式下与计算机的通信的问题来自网页:http://www.ad.siemens.com.cn/applic/publicsystem/article.asp?articleid=95
这篇经典的文章里面的知识被大部分引用,但是我搜遍网上的很多地方(找答案,技术论坛和数据库),仍然对其中
《自由口模式下PLC与计算机的通信》文章中有一些质疑,我想说的我对自由口模式下的基本知识有一些了解的,modubs协议就是使用自由口模式下的通讯。在这里我想借助大家的力量弄清楚一些问题。请多多指教。
1.把《自由口模式下PLC与计算机的通信》中的程序复制到程序编辑器中,进行全部编译,发现有基础错误。即Initialize子程序中
MOVB +1000, SMW92
MOVB &VB102, VD149 //装入地址指针
MOVB &VB156, VD181 //装入地址指针
有错误,现改为
MOVW +1000, SMW92
MOVD &VB102, VD149 //装入地址指针
MOVD &VB156, VD181 //装入地址指针
这样程序就没有任何错误了。
我想请问,这样的改法,应该是对的吧?


2.请问读取VB100的报文怎么写?

我下面谈谈我的想法,根据《自由口模式下PLC与计算机的通信的内容提示,我认为读取VB100的请求报文为:
67 05 30 32 30 38 30 30 30 30 36 34 30 31 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 43 47
共33个字节

起始字符:67
指令类型:05(读操作05H)
目标PLC站地址:30 32(PLC地址02H)
VB100的地址:30 38 30 30 30 30 36 34(08 00 00 64H)
读字节数:30 31(01H)
要写入的数据:30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
BCC校验码:30 43
结束字符:47
请问我这种写法是否正确?

3.因为请求的报文是33个字节,而且指令类型为读,所以要写入的数据我觉得可以随便填,我填的数值为16个零,关于这点分析可以吗?

得到的相应报文为:
67 01 30 30 36 37 30 35 33 30 33 32 33 30 33 38 33 30 30 44 1A
起始字符:67
状态信息:01
数据区:30 30 36 37 30 35 33 30 33 32 33 30 33 38 33 30
BCC校验码:30 44
结束字符:1A
PLC自由口模式下与计算机的通信 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33257条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。