您现在所在的是:

永宏FATEK

回帖:24个,阅读:2735 [上一页] [1] [2] [3] [下一页]
1870
dingood
文章数:324
年度积分:68
历史总积分:1870
注册时间:2013/8/26
发站内信
发表于:2019/11/15 16:11:17
#10楼
上论坛下载资料,看看精华帖!楼主对永宏PLC是真爱了表情
4648
857362369
文章数:646
年度积分:226
历史总积分:4648
注册时间:2017/5/7
发站内信
发表于:2019/11/15 16:43:36
#11楼
最近也给个国外客户用永宏的PLC写了程序,给16个表走通讯,不知道是不是我使用的问题还是表的问题,通讯表竟然不能一次写入或者读取多个数据,长度只能为1,搞得我吧一张通讯表格都写满了。

有个问题就是一张表格,只能写255行通讯数据,楼主给那么多站做通讯,怎么处理的呢,255行够用吗?,对于浮点型的计算还是搞不会,后来直接用线性转换来做的,怎么定义是浮点型还是整数型呢

永宏的PLC第一次用,这个几兆的软件是挺神奇的,小巧,方便,一开始还不大习惯,后来用着发现还挺顺手的
万千世界,不离壹刻。
21924
bnnyygy
文章数:6251
年度积分:820
历史总积分:21924
注册时间:2012/3/15
发站内信
2018论坛分享达人
发表于:2019/11/15 18:14:35
#12楼
完成目标就行。


好不好用还是习惯问题,之前觉得海为的PLC难用,后来把程序做完了,感觉也就是那么回事。
1476
shengpulin
文章数:117
年度积分:50
历史总积分:1476
注册时间:2008/2/29
发站内信
IdeaBox体验一等奖
发表于:2019/11/15 18:16:26
#13楼
回复 #11楼 857362369
通讯表竟然不能一次写入或者读取多个数据,长度只能为1,搞得我吧一张通讯表格都写满了。

有个问题就是一张表格,只能写255行通讯数据,楼主给那么多站做通讯,怎么处理的呢,255行够用吗?,对于浮点型的计算还是搞不会,后来直接用线性转换来做的,怎么定义是浮点型还是整数型呢

关于第一个问题,应该是你在写通讯时,在填写“配置长度”这个地方填错了,我记得,有一个动态配置和一个定长配置,你选“动态配置”,就行了。
第二个问题,一个通讯对象的通讯表一般只有5到10个字节,比如:#01A,也就通讯表5行(还有回车符)。如果要和128个对象通讯,最多要128个通讯表,每个表也就5、6行而已。实际上你根本不需要写128个通讯表,因为,这128个通讯对象总有一部分的通讯协议是一致的,对这部分对象而言,其实只要写一个通讯表就可以了,和不同对象通讯时一般只要改一下地址就好了。
第三个问题,永宏PLC的浮点运算指令是单独一套指令,这个你一定知道的;我觉得你问的意思是问:浮点数和整形数如何转换,我记得有转换指令,查了一下,如下图:
附件 360截图20191115180925219.jpg
[此贴子已经被作者于2019/11/15 18:19:10编辑过]
1476
shengpulin
文章数:117
年度积分:50
历史总积分:1476
注册时间:2008/2/29
发站内信
IdeaBox体验一等奖
发表于:2019/11/15 18:22:17
#14楼
此楼内容不符合板块规定,不予显示! 查看原帖内容>>
4648
857362369
文章数:646
年度积分:226
历史总积分:4648
注册时间:2017/5/7
发站内信
发表于:2019/11/15 19:55:52
#15楼
回复 #13楼 shengpulin
附件 永宏.jpg

这个最大了已经,选的也是动态配置,请问楼主,用多个通讯表格的时候怎么做切换的

附件 通讯.jpg
M1962后面可以挂多个通讯表格吗

附件 长度.jpg
我这个项目通讯长度那边只能是1,多了就通讯就会有的数据读不到,超过1后面的长度的数据就写不进去
万千世界,不离壹刻。
1476
shengpulin
文章数:117
年度积分:50
历史总积分:1476
注册时间:2008/2/29
发站内信
IdeaBox体验一等奖
发表于:2019/11/16 14:04:24
#16楼
回复 #15楼 857362369
   我看了你的图片,终于明白了你的意思是:为什么从站到主站的写入/读入,长度只能为1,否则,就会发生读不到和写不进来的错误?首先,永宏PLC是允许主从站之间,长度大于1的多寄存器读写操作的,这一点毫无疑义。你的问题可能出在以下方面:1.你的程序里可能出现了后面的运算结果,在存储时覆盖了你前面寄存器的数据。2.数据发过来了,可是你在读取结果时,读取的寄存器位置有偏差,第一个位置是对的,第二个错位了!3.还有一种最大的可能性是:虽然双方都声称是采用ModbusACS/RTU协议,可是,却又都有些许变形!我当年开发程序时,就遇到了这个问题,尤其是在指令里面寄存器编号这个环节,有差异。为此,我专门找了Modbus通讯协议国际规范文件进行考证,发现他只是给了一个大致的指令格式框架,具体的:起始字、寄存器编号等,都没有硬性规定,而且,预留了指令空间供厂商自己扩展。所以,造成各个厂商的Modbus通讯协议都有细微的差异,和自己专门的指令。比如永宏,我记得他的手册上,对于寄存器的编号就有两套规则,你在看看,我记不清了!如此一来就会造成你这个问题,只能读出/写入来第一个寄存器的值。
   关于你的那个表格,我仔细看了,感觉你这16个仪表的协议是一样的,另外,对每块表读写操作的寄存器位置也是一样的,每块共16笔,前14笔是对R型寄存器读写,最后两笔是对M型寄存器读写,只是,地址不同而已。其实,你没必要写1788笔,这么多,你这调试起来多累啊,你可以只写16笔就行了,每次通讯就改他的地址,如果有CRC效验,就重算一下,拿到结果转存就OK了!
   你这个不需要用多表,用那个反倒麻烦。
   给你提供以上思路供你参考。
4648
857362369
文章数:646
年度积分:226
历史总积分:4648
注册时间:2017/5/7
发站内信
发表于:2019/11/16 16:32:33
#17楼
回复 #16楼 shengpulin
当我只用两个从站通讯的时候,我的长度最大可以写到3,不影响数据交易。

是嘛,这么方便,写16笔就行了?因为后面客户正在谈一个更大的项目,用的表至少20个以上,我还正发愁表的通讯不够写的,

我是想增加个通讯口,这样就可以继续写255个了,

楼主的每次只读16个数据是怎么做的啊,如何轮询呢,不大明白。可否示意下表情
万千世界,不离壹刻。
12438
逍遥的久鸣
文章数:4557
年度积分:522
历史总积分:12438
注册时间:2017/3/6
发站内信
2018论坛热心网友
发表于:2019/11/16 18:06:43
#18楼
真是汗颜呀!今年找工作,有一家公司用的是永宏plc,工作挺好的 我就嫌弃这个品牌plc太冷门了,太简单了!没有什么发展前途!现在想想,我错了!大错特错!
此帖发自手机工控论坛
39781
jint 管理员
文章数:20795
年度积分:401
历史总积分:39781
注册时间:2007/8/30
发站内信
发表于:2019/11/17 14:11:42
#19楼
回复 #11楼 857362369
您好,一般情况下,请自行开主贴进行探讨哦
温馨提示:
电话:0755-26546361
邮箱:blog@gkong.com
微信公众号:工控论坛;微信号gkongbbs;
不定期修改账号密码;不要在多个网站用同一账号密码
可随时站内信联系,工作日可拨打电话或发邮件咨询相关问题

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

62.4004