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

自由口模式下PLC与计算机de通信内容地址为:http://www.ad.siemens.com.cn/applic/publicsystem/article.asp?articleid=95
我自己尝试过,也看过论坛上很多帖子,有一些问题特向大家请教。
1.网页上Initialize子程序有一些问题,如下
Initialize子程序: 
NETWORK 1
LD SM0.0  
MOVB 9, SMB30 //0口"9600,N,8,1"
 
NETWORK 2
LD SM0.0 //RCV指令初始化
MOVB 16#EC, SMB87  
MOVB 103, SMB88  
MOVB 71, SMB89  
MOVB +1000, SMW92  
MOVB 35, SMB94  
R SM87.2, 1  
 
NETWORK 3
LD SM0.0  
ATCH RCVcomplete, 23 //连接口0接收完成的中断
 
NETWORK 4
LD SM0.0  
ATCH XMTcomplete, 9 //连接口0发送完成的中断
 
NETWORK 5
LD SM0.0  
ENI   //中断允许
 
NETWORK 6
LD SM0.0  
MOVB 2, VB199 //将本机站地址装入寄存器
 
NETWORK 7
LD SM0.0  
MOVB &VB102, VD149 //装入地址指针
MOVB 0, VB179 //BCC码寄存器清零
MOVB &VB156, VD181 //装入地址指针
MOVB 0, VB180 //BCC码寄存器清零
其中
MOVB +1000, SMW92
MOVB &VB102, VD149   //装入地址指针
MOVB &VB156, VD181 //装入地址指针
有错误,改为
MOVW +1000, SMW92
MOVD &VB102, VD149   //装入地址指针
MOVD &VB156, VD181 //装入地址指针
令我不解的是,官方的资料怎么会有错呢?是不是我理解错误,是不是我不应该这样改,请指正。
2. freeport.mwp(5.77K) 此程序在网页上已不能下载,早前已下载的朋友,能不能发一份给我,我的邮箱:ncuqgzx@yahoo.com.cn,另外有人说。此程序手册中有,不知是那个手册,请知道的朋友告知。我的邮箱:ncuqgzx@yahoo.com.cn

3.按照“自由口模式下PLC与计算机de通信”的解释,我向PLC发送的报文为:
67 05 30 32 30 30 30 30 30 30 30 30 30 31 30 36 47
没什么我得到的响应报文是:
67 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1A

我请求的报文是读IB0字节的数值
起始字符:67
指令类型:05
目标PLC站地址:30 32
IB0的地址:30 30 30 30 30 30 30 30 
读字节数:30 31
BCC校验码:30 36
结束字符:47
为什么我得到的报文是指令不合法呢?

问题补充:
to:李平 and qingzi 
我现在研究的是自由口通讯。
67 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1A 中的 “04”代表指令不合法。

最佳答案

1、你的改正完全正确。
2、没有
3、为什么你的指令会是合法的呢?

指令格式定义 

计算机每次发送一个33字节长的指令来实现一次读/写操作,指令格式见表1 说明: 
你发送了17个字节的报文,还想合法?

起始字符:67
指令类型:05
目标PLC站地址:30 32
IB0的地址:00 00 00 00 //此处不用ASCII,表示例子里也说了:IB000的地址可表示为   00 00 00 00(H) 
读字节数:00 00 //读方式可任意写入
写字节数:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 //写入数据添满,即使你用不到
BCC校验码:?? ??//我没有程序,没法校验
结束字符:47

整个报文就是要把这些数据合起来就可以了 

提问者对于答案的评价:
谢谢

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc320040.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月1日 下午5:07
下一篇 2020年11月1日 下午5:07

相关推荐

  • S7-200对AS-I总线系统 向导 生成的三个子程序调用

    S7-200对AS-I总线系统 向导 生成的三个子程序调用 请问三个子程序怎么个调用 ,含义是什么 先谢了 问题补充:ASIx_R…

    SIMATIC S7-200 2017年12月8日
  • s7-200 计数器达到预设值后复位时间点

    如图的程序,当C0计数值达到5时,C0是立即复位吗?下一条程序为什么还会执行呢?求教详细说明! 问题补充:我将数据传送部分程序段写在计数器计数的上面网络段中后,数据传送部分还是会执…

    2017年6月3日
  • Modbus协议指令

    我的200的编程软件里怎么找不到modbus协议指令啊,是不是要安装的啊,请告诉我怎么安装,还有可不可以把驱动发给我,谢了 huangzhengwei21@163.com…

    SIMATIC S7-200 2021年7月5日
  • S7-200 编程软件和PLC无法建立通讯

    大家好!我将S7-200的程序编译好了,准备跟PLC通讯时,系统提示找不到指定的站点,不知怎么回事?情况如下图所示 图片说明:    最佳答案 STEP&nbs…

    2021年7月5日
  • 西门子200自由口与仪表通信

    已块西门子200PLC与三台重量仪表通过自由口通信,请问自由口怎么定义成先发送再接收,三台仪表轮流发送。 最佳答案 如果仪表为RS485接口,可采用modbus协议:参见《S7-2…

    SIMATIC S7-200 2020年11月5日
  • 串口调试

    哪位前辈提供一个串口调试软件的下载地址,感激! 最佳答案 捷通串口调试软件 4.0 http://www.onlinedown.net/soft/35817.h…

    SIMATIC S7-200 2021年7月5日
  • s7200 PID使用

    请教各位大师:S7200 PID通过向导做和通过PID运算指令做程序哪种方法好,设计调试电液比例阀PID回路程序时,需要注意哪些问题,有何经典经验,谢谢! 问题补充:我的…

    SIMATIC S7-200 2021年7月5日
  • s7 200与S7400的通讯

    s7 200  与s7 400通过cp243和cp443做的通讯,中间有交换机(OSM),数据传输正常,后来由于工作需要,400侧网络连接重…

    SIMATIC S7-200 2021年7月5日
  • 224xp 输入aiw32及以上编译错误?

    如题,为什么呢 最佳答案 是不是PLC类型没有选择正确? 提问者对于答案的评价:xx

    SIMATIC S7-200 2020年10月31日
  • s7200plc com口引脚定义

    s7200plc  com口是485吧,引脚定义是怎么样的?谢谢 最佳答案 是 485口3 -8 +1 接地(RS-48…

    SIMATIC S7-200 2020年11月1日