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,差距太大了,几十上百毫秒在软件中实时监控就有卡顿了(伺服控制),还不算其他的控制!求大神解决!!!
jinweibao
级别: 正式会员
精华主题: 0
发帖数量: 5 个
工控威望: 94 点
下载积分: 552 分
在线时间: 1(小时)
注册时间: 2015-05-30
最后登录: 2016-01-28
查看jinweibao的 主题 / 回贴
1楼  发表于: 2015-09-02 12:04
VB等更是算了吧,自带的comm组件一个置位通讯来回都要几十毫秒,如果是调用API,用什么编程软件都是一样,
再说了,一个上位机控制程序用C语言?你们见过哪家的机械电脑控制系统是用C的?你用C写个窗口要多长时间?windows的消息处理你又要写多长时间?
和编程软件没有关系,关系在于如何提升通讯速率是根本,电脑程序再慢都是微秒级,一个置位通讯就几十毫秒,你就是用机器语言写程序也没用
jinweibao
级别: 正式会员
精华主题: 0
发帖数量: 5 个
工控威望: 94 点
下载积分: 552 分
在线时间: 1(小时)
注册时间: 2015-05-30
最后登录: 2016-01-28
查看jinweibao的 主题 / 回贴
2楼  发表于: 2015-09-02 12:11
没办法了,找了个折中方法,启动程序调用gppw软件,然后通过消息后台控制gppw将波特率设定为115200,然后程序再开始初始化通讯
jinweibao
级别: 正式会员
精华主题: 0
发帖数量: 5 个
工控威望: 94 点
下载积分: 552 分
在线时间: 1(小时)
注册时间: 2015-05-30
最后登录: 2016-01-28
查看jinweibao的 主题 / 回贴
3楼  发表于: 2015-09-04 19:16
弄出来了麻烦联系一下,QQ854629339