jinweibao
级别: 正式会员
精华主题: 0
发帖数量: 5 个
工控威望: 94 点
下载积分: 552 分
在线时间: 1(小时)
注册时间: 2015-05-30
最后登录: 2016-01-28
查看jinweibao的 主题 / 回贴
楼主  发表于: 2015-08-31 21:14
本人使用 易语言 编写上位机程序,自己调用windows com通讯API 写了个三菱和com口通讯的dll,
但是使用时发现只能使用9600波特率通讯,如果在works2中更改波特率为115200后就可以使用这个波特率一直运行,但是一断电就没了,
我问了三菱官方,他们说速率自动调节,是不可以修改的,
但是我记得曾经修过深圳一家公司的工控系统,他们的fx3u就是一直是115200通讯,而且断电后再上电也是这个速率,请问这个是什么情况?
而且我用com口监视后发现PLC先从D8116中获取4字节数据,然后根据一定的计算写入D8118,然后将波特率更改为115200就可以通讯了,
但是查看了很多数据也无法推断出具体算法,求问有没有对这方面有了解的大神?
据我用软件测试,我现在用9600波特率获取D0-D12的数据发送到接受需要大约65ms,普通强制置位通讯发送到接受大约15ms左右(经过自己最大能力优化,多线程,代码优化都用上了。。。),而115200波特率读取24位数据(D0-D12)只需5-6ms,差距太大了,几十上百毫秒在软件中实时监控就有卡顿了(伺服控制),还不算其他的控制!求大神解决!!!
xiakebiao
工控老人
级别: 网络英雄

精华主题: 0
发帖数量: 1158 个
工控威望: 8697 点
下载积分: 96310 分
在线时间: 845(小时)
注册时间: 2008-12-21
最后登录: 2023-07-10
查看xiakebiao的 主题 / 回贴
1楼  发表于: 2015-09-01 08:36
易语言本身就是解释性程序,比BASIC的层次还低,不适合实时控制的数据采集。