• «
  • 1
  • 2
  • »
  • Pages: 2/2     Go
小学没毕业
级别: 略有小成
精华主题: 0
发帖数量: 88 个
工控威望: 257 点
下载积分: 389 分
在线时间: 31(小时)
注册时间: 2013-05-14
最后登录: 2024-05-17
查看小学没毕业的 主题 / 回贴
12楼  发表于: 2015-08-14 14:27
弄好几天了 。要做个项目,实时监测PLC数据。还要存档到EXCEL表格 。
小学没毕业
级别: 略有小成
精华主题: 0
发帖数量: 88 个
工控威望: 257 点
下载积分: 389 分
在线时间: 31(小时)
注册时间: 2013-05-14
最后登录: 2024-05-17
查看小学没毕业的 主题 / 回贴
13楼  发表于: 2015-08-14 14:28
MSComm1.InputLen = 0
这句写不写都一样  0是缺省值
abcdef张勇
工控
级别: 探索解密
精华主题: 0
发帖数量: 101 个
工控威望: 173 点
下载积分: 6873 分
在线时间: 161(小时)
注册时间: 2015-07-02
最后登录: 2024-12-16
查看abcdef张勇的 主题 / 回贴
14楼  发表于: 2015-08-14 14:30
你后台监控一下MSComm1.InBufferCount =8有没有等于8
892777011
级别: 略有小成
精华主题: 0
发帖数量: 213 个
工控威望: 334 点
下载积分: 1052 分
在线时间: 181(小时)
注册时间: 2014-06-24
最后登录: 2021-11-21
查看892777011的 主题 / 回贴
15楼  发表于: 2015-08-14 15:55
引用
引用第4楼小学没毕业于2015-08-14 13:46发表的  :
Private Sub Timer3_Timer()
      If MSComm1.PortOpen = True Then
      Dim outstring As String
      Dim instring As String
      Dim d As Long
.......

楼主,三菱有官方出的MX Component通讯控件,使用起来非常方便而且很稳定
最远是多远
高调做事,低调做人
级别: 家园常客
精华主题: 0
发帖数量: 416 个
工控威望: 534 点
下载积分: 17007 分
在线时间: 331(小时)
注册时间: 2015-07-05
最后登录: 2022-10-09
查看最远是多远的 主题 / 回贴
16楼  发表于: 2015-08-14 21:33
高手高手高高手
小学没毕业
级别: 略有小成
精华主题: 0
发帖数量: 88 个
工控威望: 257 点
下载积分: 389 分
在线时间: 31(小时)
注册时间: 2013-05-14
最后登录: 2024-05-17
查看小学没毕业的 主题 / 回贴
17楼  发表于: 2015-08-15 18:51
怎么没人帮助下啊 ?谢谢了 高手在哪里。怎么实现不间断读取PLC中D的数值
tiansan80700
级别: 略有小成
精华主题: 0
发帖数量: 269 个
工控威望: 417 点
下载积分: 1465 分
在线时间: 560(小时)
注册时间: 2011-06-03
最后登录: 2023-10-28
查看tiansan80700的 主题 / 回贴
18楼  发表于: 2015-08-15 19:03
应该是通讯的问题。本来是实现了不间断读取PLC中D的数值,此时在不停的通讯。而你去按其它的按键时,此时按键又要产生通讯,和前面的通讯冲突了。因此在按其它按键时,应该暂停读取PLC中D的数值,当按键通讯完毕之后,再重启读取PLC中D的数值。
本帖最近评分记录:
  • 下载积分:+1(最远是多远) 好贴好贴!
    小学没毕业
    级别: 略有小成
    精华主题: 0
    发帖数量: 88 个
    工控威望: 257 点
    下载积分: 389 分
    在线时间: 31(小时)
    注册时间: 2013-05-14
    最后登录: 2024-05-17
    查看小学没毕业的 主题 / 回贴
    19楼  发表于: 2015-08-19 10:31
    多谢楼上回复,但按完了就不读D值了
    mythic
    mythic
    级别: 略有小成
    精华主题: 0
    发帖数量: 299 个
    工控威望: 485 点
    下载积分: 29480 分
    在线时间: 275(小时)
    注册时间: 2013-05-14
    最后登录: 2024-02-07
    查看mythic的 主题 / 回贴
    20楼  发表于: 2015-08-19 15:12
    做个循环,不停读写,操作按钮或修改数据仅更改内存值,无需暂停通讯,处理返回数据用个单独的定时器,如果显示控件跟输入控件用的是同一个的话,记得得到焦点时终止定时器,操作完毕恢复定时器
    本帖最近评分记录:
  • 下载积分:+1(最远是多远) 好贴好贴!
    b07071057
    级别: 探索解密
    精华主题: 0
    发帖数量: 34 个
    工控威望: 159 点
    下载积分: 2533 分
    在线时间: 93(小时)
    注册时间: 2014-06-25
    最后登录: 2018-03-23
    查看b07071057的 主题 / 回贴
    21楼  发表于: 2015-08-28 14:20
    你这个应该是读取D200的通讯,和你点按钮与PLC的通讯同时通讯了,你应该写个锁,就像多线程访问内存时候的锁一样,当我A线程在访问内存的时候,别的只能等待,A线程释放资源后别的线程才可访问
    本帖最近评分记录:
  • 下载积分:+1(最远是多远) 好贴好贴!
    gl50102
    级别: 略有小成
    精华主题: 0
    发帖数量: 74 个
    工控威望: 216 点
    下载积分: 3257 分
    在线时间: 104(小时)
    注册时间: 2013-04-09
    最后登录: 2024-12-23
    查看gl50102的 主题 / 回贴
    22楼  发表于: 2015-08-29 00:15
    把读数据那段写在时钟里面,循环执行,也许可以!
    fubin739
    级别: 家园常客
    精华主题: 0
    发帖数量: 443 个
    工控威望: 790 点
    下载积分: 3050 分
    在线时间: 453(小时)
    注册时间: 2006-11-06
    最后登录: 2024-11-14
    查看fubin739的 主题 / 回贴
    23楼  发表于: 2015-08-30 14:24
    你数据量不大的时候就全部整合到一个命令里去,读的时候不写,谢的时候不读
    • «
    • 1
    • 2
    • »
    • Pages: 2/2     Go