基于modbus串口通信问题 点击:475 | 回复:4



sidewalker

    
发表于:2012-05-04 19:50:19
楼主
pc与触摸屏串口通信 用vb编写程序 现在出现个问题是modbus地址为w40001 五位地址 如何转换到 modbus通讯格式里的Data1和Data2呢?


楼主最近还看过



≡☆☆☆☆☆≡

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 30回
  • 年度积分:0
  • 历史总积分:259
  • 注册:2004年7月15日
发表于:2012-05-04 22:15:37
1楼
4不用写,写或读“字”命令就定义了4, 00和 00写到  Data1和Data2,实际上是写或读40001H。 Data1和Data2应该是地址

sidewalker

  • 精华:2帖
  • 求助:11帖
  • 帖子:13帖 | 36回
  • 年度积分:0
  • 历史总积分:230
  • 注册:2011年11月15日
发表于:2012-05-05 15:15:39
2楼

 

读取$0,也就是W40001数值:
Private Sub Timer1_Timer()
MSComm1.Output = ":" + "010300000001" + LRC("010300000001") + Chr$(13) + Chr$(10)
MSComm1.Output = ":" + "00050500FF00" + LRC("00050500FF00") + Chr$(13) + Chr$(10)
inputstring = MSComm1.Input
Text1.Text =mid(inputstring, 8, 4)
End Sub

哪里有问题 为什么这段程序无法实现呢 是pc用串口读HMI $0位的

sidewalker

  • 精华:2帖
  • 求助:11帖
  • 帖子:13帖 | 36回
  • 年度积分:0
  • 历史总积分:230
  • 注册:2011年11月15日
发表于:2012-05-05 15:32:40
3楼

回复内容:
对:≡☆☆☆☆☆≡关于4不用写,写或读“字”命令就定义了4, 00和 00写到  Data1和Data2,实际上是写或读40001H。 Data1和Data2应该是地址 内容的回复:



读取$0,也就是W40001数值:

Private Sub Timer1_Timer()
MSComm1.Output = ":" + "010300000001" + LRC("010300000001") + Chr$(13) + Chr$(10)
MSComm1.Output = ":" + "00050500FF00" + LRC("00050500FF00") + Chr$(13) + Chr$(10)
inputstring = MSComm1.Input
Text1.Text =mid(inputstring, 8, 4)
End Sub

哪里有问题 为什么这段程序无法实现呢 是pc用串口读HMI $0位的

szborong

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:19
  • 注册:2012年5月05日
发表于:2012-05-06 17:02:12
4楼

苏州博容机电科技有限公司主营连接器插拔式接线端子螺钉式接线端子弹簧式接线端子欧式接线端子栅栏式接线端子贯通式接线端子菲尼克斯接线端子,菲尼克斯。多年来为国内电力系统及自动化、通信、控制仪表、轨道交通、电子、照明及家用电器等行业提供高品质国际化的产品;

 

产品有ULVDECSACULCQC TUV等认证且执行欧盟的环保标准,实现产品生产的无公害制程。同时为满足客户的特殊之要求,提供客户委托制造与设计的专业服务,有效解决客户所有在接线、配线领上的问题。 phoenix接线端子

SSI ļʱ