s7-200与PT650D如何通讯

s7-200与PT650D如何通过自由协议进行通讯

问题补充:
LD     SM0.1
MOVB   16#69, SMB30
MOVB   16#B0, SMB87
MOVB   16#0A, SMB89
MOVB   10, SMB90
MOVB   20, SMB94
ATCH   INT_0:INT0, 9
MOVB   150, SMB34
ATCH   INT_1:INT1, 10
ATCH   INT_2:INT2, 23
ENI

INT0
LD     SM0.0
DTCH   10
RCV    VB200, 0


INT1
LD     SM0.0
MOVB   16#06, VB99
MOVB   16#52, VB100
MOVB   16#45, VB101
MOVB   16#41, VB102
MOVB   16#44, VB103
MOVB   16#0D, VB104
MOVB   16#0A, VB105
XMT    VB99, 0

INT2
LD     SM0.0
ATCH   INT_1:INT1, 10
上面程序无返回信息
PD650D 协议
READ<CR><LF>
返回 ST,GS,1234KG,<CR><LF>

最佳答案

发一个通用的通讯程序:

MAIN:

LD          SM0.1

MOVB      XXX  ,    SMB30        //根据和对方约定的波特率,字符格式等设定

MOVB      16#9C,  SMB87        //允许接收信息,使用SMB90值检察空闲状态,定时器是信息定时器  ,  超过SMW92值停止接收      

MOVW      +80,      SMW92        //根据报文长短,波特率及从站响应的快慢设定,这个时间要小于接收中断(INT3)里定时中断的时间。

MOVW      +0,        SMW90

MOVB      200,      SMB94            //SMW94    最大接收字符数,这里无用,但必须要设置。

ENI

LD          SM0.1

ATCH      接收:INT3,  9            //传输完成中断

MOVB      150,  SMB34

ATCH      发送:INT2,  10          //定时中断

发送:

LD          SM0.0

DTCH      10

XMT        VB100,  0

接收:

LD          SM0.0

RCV        VB200,  0

MOVB      250,  SMB34

ATCH      发送:INT2,  10

1  本程序只适用于单从站的问答式规约(包括modbus)。该程序为主站程序。

2  发送的数据放置在数据块,比如读取从站地址为16#12的寄存器的数据。校验提前算好,减轻PLC负担。

VB100  16#8  16#12  16#03  16#00  16#0A  16#00  16#02  16#E6  16#AA

3  不用考虑起始字符  结束字符等等,以下是通讯流程图,不论从站有无故障,询问不受影响。

4  9600波特率,从站回复13字节

5  校验程序可以放在主程序里,

有时间再发一个多从站的程序,程序大小和这个基本程序不变。

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

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

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

相关推荐

  • S7-200程序块下的库起什么作用

    S7-200程序块下的库的子块(前缀有USS~)有什么作用,而且被锁了,打不开。在整个程序中起什么作用。对了,好像是与西门子变频器通信用的。且有加密,打不开,有什么办法可以打开?那…

    SIMATIC S7-200 2021年7月4日
  • S7-200的PID

    我用S7-200的PID控制,检测量为蒸汽压力,给定量为蒸汽排放阀!用向导生成的!可是我在模拟调试的时候发现只要我检测值的数据没有变化!哪怕和目标值相差很多!输出量就基本上不动了!…

    SIMATIC S7-200 2020年11月5日
  • 怎么样清除密码

    我买了一二手的S7-200的PLC,刚开始还可以上下传,上传,可是用了几次就有密码保护了,请问,怎么清理掉。 最佳答案 你应该是自己用了密码保护了,不然一开始不会可以下载上载,你可…

    SIMATIC S7-200 2020年11月5日
  • 谁有s7-200与温控表(台达)RTU通讯的例子

    想自己做一个例子与几个温控表通讯 想借鉴一下!谢谢 问题补充:SUBROUTINE_BLOCK SBR_0:SBR0 TITLE=子程序注释&nbsp…

    SIMATIC S7-200 2021年7月4日
  • 谁有TD400文本组态程序让我学习一下,谢谢!

    谁有TD400文本组态程序让我学习一下,也可以发我邮箱里17902103@qq.com,谢谢! 最佳答案 S7-200PLC>HMI>TD400C向导 来做&…

    SIMATIC S7-200 2018年12月3日
  • 请教多路传感器输入及数值转换程序

    前面经过多方调试和各位的帮忙指导我已经建立了一个传感器与PLC的通信,但还有两个问题需要大家的指导,在此先谢了: 1、数据传送以ASCII方式,PLC接收到的数据为十六进…

    SIMATIC S7-200 2021年7月4日
  • S7-200与MT6100i

    cpu224XP,与触摸屏MT6100i连接,RS485,PLC的8,3,5对应触摸屏的1,2,5。触摸屏上时不时就出现“与PLC通讯中断”,用的也是屏蔽线,用屏蔽双绞线也试验过,…

    SIMATIC S7-200 2020年11月5日
  • s7-200,modobus rtu 通讯协议中实数地址转换。

    例如,vd100的地址是什么?vw100转换地址为40051,是否vd100也是40051?若不是,如何转换? 钻石用户推荐最佳答案 1、VW100转换地址为40051,是否VD1…

    SIMATIC S7-200 2021年7月5日
  • 如何向子程序中传送计数器或定时器号

    自定义一个带管脚的子程序,里面用到定时器和计数器,在子程序的形参中如何定义需要传送的定时器或者计数器号 最佳答案 1、请看看这个帖子:西门子S7-200 plc子程序反复…

    SIMATIC S7-200 2020年10月31日
  • plc200smart怎么通过PID控制电动调节阀来控制压力

    现场有一个电动调节阀,需要PID控制阀门开度来控制管道的压力,请问一下程序怎么编写 钻石用户推荐最佳答案 这个你只能自己去编写,可以给一些给你关于如何使用PID的资料,你用PID控…

    SIMATIC S7-200 2021年7月5日