mcgstpc多机通讯 点击:767 | 回复:10



medcosfz

    
  • 精华:0帖
  • 求助:2帖
  • 帖子:4帖 | 26回
  • 年度积分:691
  • 历史总积分:3843
  • 注册:2021年7月30日
发表于:2022-11-08 14:55:30
楼主
求助帖30分-未结帖

一个温湿度巡检系统,为了节约一个PLC,打算使用一个TPC1031巡检20个485温湿度传感器,请问怎么设置设备?还需要写脚本吗?TPC的串口子设备在工作时,是一个一个依次发指令呢还是会几乎同时发指令?



楼主最近还看过



yerone

  • 精华:0帖
  • 求助:0帖
  • 帖子:27帖 | 943回
  • 年度积分:0
  • 历史总积分:282
  • 注册:2006年7月22日
发表于:2022-11-08 15:52:22
1楼

应该不用写脚本   简单数据设置和显示   单个485通讯口指令都是一个个发的    TPC1031应该有两个独立的485通讯口

元气少年可达鸭

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 9回
  • 年度积分:0
  • 历史总积分:204
  • 注册:2019年6月26日
发表于:2022-11-08 16:11:37
2楼
  1. 设备窗口里新增一个通用父串口,下面挂个ModbusRTU的设备(比如是设备X),右击父串口--属性,把串口端号,波特率,数据位,停止位,校验等参数设好

  2. 使用  !SetDevice(设备X,6,"SetAddress(Var)")  这个函数,设备X就是第一步组态的设备名称,Var就是Modbus设备的站号,通过改变Var的值来访问不同地址的设备

medcosfz

  • 精华:0帖
  • 求助:2帖
  • 帖子:4帖 | 26回
  • 年度积分:691
  • 历史总积分:3843
  • 注册:2021年7月30日
发表于:2022-11-08 16:29:59
3楼

"yerone" 的回复,发表在1楼
        对内容: 【应该不用写脚本   简单数据设置和显示   单个485通讯口指令都是一个个发的    TPC1031应该有两个独立的485通讯口...】进行回复:

        -----------------------------------------------------------------


会不会等待时间必须设置长一点,这个还需要验证。就是担心20个子串口一窝蜂地发送指令,就乱套了

medcosfz

  • 精华:0帖
  • 求助:2帖
  • 帖子:4帖 | 26回
  • 年度积分:691
  • 历史总积分:3843
  • 注册:2021年7月30日
发表于:2022-11-08 16:31:06
4楼

"元气少年可达鸭" 的回复,发表在2楼
        对内容: 【设备窗口里新增一个通用父串口,下面挂个ModbusRTU的设备(比如是设备X),右击父串口--属性,把串口端号,波特率,数据位,停止位,校验等参数设好使用  !SetDevice(设备X,6,"Set...】进行回复:

        -----------------------------------------------------------------


这也是一个好办法,重点在脚本的编写上了

medcosfz

  • 精华:0帖
  • 求助:2帖
  • 帖子:4帖 | 26回
  • 年度积分:691
  • 历史总积分:3843
  • 注册:2021年7月30日
发表于:2022-11-08 16:38:48
5楼

"yerone" 的回复,发表在1楼
        对内容: 【应该不用写脚本   简单数据设置和显示   单个485通讯口指令都是一个个发的    TPC1031应该有两个独立的485通讯口...】进行回复:

        -----------------------------------------------------------------


子设备0发送--等待(接收)--子设备1发送--等待(接收).....子设备19发送--等待(接收)--子设备0发送--等待(接收)...,如果是这种工作方式,就是最理想的了^_^

关育谋

  • [版主]
  • 精华:5帖
  • 求助:22帖
  • 帖子:738帖 | 5640回
  • 年度积分:68
  • 历史总积分:84034
  • 注册:2004年5月28日
发表于:2022-11-08 17:07:06
6楼

轮询:先和1#通信,然后2#、3#、4#,等等

关育谋

  • [版主]
  • 精华:5帖
  • 求助:22帖
  • 帖子:738帖 | 5640回
  • 年度积分:68
  • 历史总积分:84034
  • 注册:2004年5月28日
发表于:2022-11-08 17:07:53
7楼

楼主可以用Modbus Slave调试助手模拟多个从站去和MCGS通信试试,观察一下收发报文就明白轮询机制了。

121111115

  • [版主]
  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 378回
  • 年度积分:594
  • 历史总积分:21966
  • 注册:2016年1月20日
发表于:2022-11-10 12:27:10
8楼

你这个思路有点问题啊,20个温度传感器你确认不加个485通讯板子吗?建议你买个200左右的8路485通讯板,把这20个分别接在8个485口上,让板子去采集传感器,然后屏和这个板子通讯直接读取20个采集好的温度值比较好。

第一,一个工业级的485仪表在17年的时候我询过价大概在1200左右,你的仪表价格估计连零头都够不上吧,这种电子产品一分钱一分货,所以你的仪表是故障率最高的存在,如果都接到屏上的话,你最好多备几块屏,以备不时之需,万一哪天屏的com口坏了咱可以快速给换上。

第二,20个串到一条总线上,只要有一个485短路,其他19个也就不好说了。

第三,就是通讯实时性的问题,20个轮训一遍,假设设备响应速度够快,距离合适,你也得差不多10秒左右吧,这种在理论上是可行的,实际上也是可行的,真正用的时候目测达不到一个理想的使用效果,我以前串过14个,慢的离谱,而且仪表厂家的技术都被我邀请到现场处理仪表老是坏的问题,人家给的解释是给我换一批带隔离的表头(所以一分钱一分货啊),后来换完情况有所好转,毕竟不到150块带485通讯还带数显的传感器,你不能对他有太高的要求啊。


fdxz

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 11回
  • 年度积分:100
  • 历史总积分:101
  • 注册:2022年12月22日
发表于:2022-12-22 16:16:51
9楼

同一个父设备一个线程,依次轮训设备进行读写操作,仪表注意接线以及防干扰。

Smile-lyc

  • [管理员]
  • 精华:127帖
  • 求助:50帖
  • 帖子:3482帖 | 22331回
  • 年度积分:1963
  • 历史总积分:145694
  • 注册:2006年8月04日
发表于:2023-01-02 18:44:31
10楼

感谢求助者和答疑者对求助答疑板块的厚爱,赠人玫瑰,手留余香。

对于求助者要求:

1、请在一个月内自行结贴,把悬赏积分(如果设置积分悬赏求助)发放给答疑者;

2、如果在求助答疑过程中,自己已经有效解决问题,建议大家把解决问题方法在自己求助帖分享,有效分享可以获得50积分奖励。

3、求助答疑板块版主结贴时间一般滞后30~45天,以方便大家对求助问题答疑足够时间,也为了每一个优秀答疑人员都可以获取到自己的积分和MP奖励。




热门招聘
相关主题

官方公众号

智造工程师