百科狗-知识改变命运!
--

plc接收ADAM4017模块数据还需要像ADAM4017发送请求吗

桃子1年前 (2023-12-22)阅读数 6#综合百科
文章标签字节数据

port0与adam4017/4018用RS-485线路连接,为半双工通信,同一时间只能发送数据或者接收数据,必须确保发送完后才能开始接收数据,接收完数据后才能发送数据。

此例设置发送数据标志为m1.0和接收数据标志位m1.0,在主程序按一定时间间隔发出XMT指令,并把M1.0置1,在XMT msg完成中断9里置0,并发出RCV指令,置位M1.1;在RCV msg完成中断里将M1.1清零

读取4018/4017模块,地址为06/07,发送字符串读取指令 “#06”+ 0x0D,其中0x0D为字符串末尾字符,4018返回的数据为:

>+0023.7+0023.7+0023.7+0023.7+0023.7+0017.5+0023.5+0023.7 +0x0D ;该回应以字符“>”开始,以 0x0D结束,每个模块一共8个通道,每个通道占7个字节,因而接收缓冲 区大小1+7*8+1=58字节,因S7-200字符串的第一个字节表示长度,所以一共需要59字节。

在9600bps、无奇偶校验位、1位停止位情况下,最大的传输速率是960字节/秒,(4+58)/960*1000=65ms,其中4位发送字节数,58位接收字节数,XMT发送完成后立即执行RCV指令,在执行XMT之前使用BGN_TIME,在RCV完成中断里使用CAL_TIME,计算一个查询/回应所需的时间,经测试4018需87ms,4017需79ms。回应超时时间设为正常读取信息所要求时间的1.5倍,取100ms,赋值给寄存器smw92。

Port0 XMT 信息发送完成中断号为9,RCV 信息接收完成中断号为23

因有的s7200cpu只有port0,使用sm0.7位(TERM)来启动和关闭自由口通讯,在term状态下可以使用ppi通信

此程序用两个变量记录XMT发送的次数和RCV成功接收的次数,因为采用先发送再接收的方式查询,若成功接收,这两个变量的值应该相等。

因为有2个模块,将XMT发送次数对2求模,值为0是查询4017,值为1时查询4018,轮流查询。多个模块一次类推;

请高人看看我这PLC程序有无问题

plc接收ADAM4017模块数据还需要像ADAM4017发送请求吗

控制输出是有经过PID运算得出百分比运算结果,然后相对应输出

控制信号

给执行机构。而

变送输出

则是将

输入信号

转换成线性比例的

模拟量

信号供给下一级设备输入端。一般变送输出是用在两台仪表同时显示同一测量值会选用,将其中一台加变送输出给另一台仪表。

必然有问题嘛 你用的port0 那你定义端口SMB30了没?还有你用SM4.5传输结束置1,但是你接收使能SM87.7使能了没?

主程序设置了,这样看来应该没什么大问题,我还有个疑问,你SM87.7一直置位,也就是端口一直处于接收状态?反正我编自由通讯时候就是发送结束开中断,中断里面开接收,接收结束再开中断,中断里面关接收

鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com

免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)

图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)