(1) 开头字符(STX):ASCI I码之开始字符STX,接收方以此判知传输数据之开头;
(2) 从站号码:为两位数之16进制数值,在永宏PLC通讯系统中之网络架构采用主从系统在整个网络系统中只有一个主系统,但可以有254个从系统,每个从系统均有一个独一无二之站号;
(3) 命令号码:为两位数之16进制数值,所谓命令号码系由主系统要求从系统所执行之动作类别,例如要求读取R(46)读M(44)或写入(49)单点状态、填入或读取缓存器数据、强制设定、运转、停止……等;
(4) 本文资料:本文数据可为0(无本文数据)~500个ASCII字符,在命令讯息中此字段数据用以指定命令所要运作或存取之对象(地址)或要写入之数值;
(5) 侦误值(CHECKSUM):侦误值系将前述~各字段之所有ASCII字符之16进制数值以“纵式余数查核法”LRC(Longitudinal Redundancy Check)计算产出一个Byte长度(两个16进制数值00~FF)之侦误值。本通讯协议LRC侦误值之计算方法是将各ASCII字符之16进制数码值(8位长度)从头至,但不考虑进位,因此最终结果仍为8位长度之侦误值;
(6) 结尾字符(ETX):ASCI I码之结尾字符ETX之16进制数码为03H,当接收方收到ETX 字符后便知该次通讯已结束。

本系统运行界面所需的数据是PLC的内部暂存器R0-R9等10个16BIT的数据,依照协议VB设计的通讯程序必须指定一个命令码,主动向PLC请求数据传送,查的该命令码为“46”,解释为:连续多个缓存器之数据读取。

  1. 读取R0-R9的PC命令的ASCII码写法为:

    “STX+01(站号)+46(命令码)+10(连续数据个数16进制)R00000(数据开始地址)+LRC(侦误值)+ETX”
    “STX+01(站号)+44(命令码)+10(连续数据个数16进制)M0000(数据开始地址)+LRC(侦误值)+ETX”
    侦误值算法(输入:站号+命令码+连续数据个数+数据开始地址)

  2. 写R的PC命令的ASCII码写法为:
    “STX+01(站号)+49(命令码)+01(每次写1位)R00000(数据开始地址)0000(16进制每4位一个地址,R是单字4个位)+LRC(侦误值)+ETX”

  3. 写DR的PC命令的ASCII码写法为:
    “STX+01(站号)+49(命令码)+01(每次写1位)DR00000(数据开始地址)00000000(16进制每8位一个地址,DR是双字8个位,高位在前)+LRC(侦误值)+ETX”

  4. 写M的PC命令的ASCII码写法为:
    “STX+01(站号)+49(命令码)+01(每次写1位)M0000(数据开始地址)+0(0/1,M是状态值false/true,一个位)+LRC(侦误值)+ETX”

Function Lrc(dats As String) As StringDim i As Integer, sum As IntegerFor i = 1 To Len(dats)sum = sum + Asc(Mid(dats, i, 1))        NextIf Len(Hex(sum + 2)) = 1 Then Hex(sum + 2) = "0" & Hex(sum + 2)    Lrc = Right(Hex(sum + 2), 2)
End Function

发送方法

Private Sub Command1_Click()ClsDim code As Stringcode = "014610DR02000"Me.Winsock1.SendData (Chr(2) + code + Lrc(code) + Chr(3))
End Sub

接收方法

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)Dim inRbuf As String, i As IntegerDim inR(0 To 9) As StringWinsock1.GetData inRbufinRbuf = Mid(inRbuf, 4, 44)For i = 0 To 9inR(i) = Val("&H" + Mid(inRbuf, 4 * (i + 1), 4)) '单字(R)解码'inR(i) = Val("&H" + Mid(inRbuf, 4 * (i + 2), 4) + Mid(inRbuf, 4 * (i + 1), 4))'双字解码'inR(i) = Val("&H" + Mid(inRbuf, 4 + i), 1)) '(M)解码NextFor i = 0 To 9Print inR(i) + "    ";NextPrint
End Sub

当前我只知道查询M命令码是44,查询R命令码是46,写的命令码是49,混合读的命令码是48(感觉比较复杂麻烦,没研究),返回的错误码意思也不知道,有知道其他命令的请不吝分享,谢谢

VB通过以太网接口使用winsock的永宏PLC上位机通讯系统设计相关推荐

  1. 单片机modbus rtu通讯_【原创】永宏PLC系列RS485通讯方式

    实现的功能,及应用的场合 本项目为弯管机设备改造工程,在不破坏设备原有的功能的情况下通过只更换设备原来的永宏PLC,使弯管机能够与埃斯顿机器人进行信号交互,通过机器人对弯管机进行上料.下料动作,即节约 ...

  2. 组态王 6.55 启停plc_永宏PLC在远程控制系统中的应用

    一.行业介绍 本远程控制系统是给石药集团的下属子公司设计的一个控制方案.主要是配套GPRS-DTU产品实现远程plc与plc之间的数据共享.从而达到远程无线数据写入控制和读取监控的目的. 二.客户需求 ...

  3. 永宏plc的ip通信转接模块,能ping通了,却无法建立modbus tcp连接的问题解决

    永宏plc的ip通信转接模块,能ping通了,却无法建立modbus tcp连接. 经过检测,发现是其ip通信配置软件里, 在其服务页面里,要选择连接的操作模式,从下拉选项中,选择Modbus伺服器模 ...

  4. 永宏PLC 寄存器之Modbus地址映射

    永宏PLC 寄存器之Modbus地址映射 遵循modbus标准,格式依据www.modbus.org 映射分5码.6码. 使用FBs-CM5EH组modbus服务. 1.代码转换规则 2.转换范围(5 ...

  5. EG 网关串口连接永宏 PLC 应用案例

    前言:永宏 PLC  是一款国产优秀的可编程控制器,广泛应于工业控制领域,是一款性能高,运行稳定 的控制器.此次我们要把永宏 FBs/B1 系列 PLC 通过 Modbus 协议连接 EG 系列网关, ...

  6. PLC上位机以太网通信的C#实现-基恩士

    KV8000PLC是基恩士的高端产品,在功能上KV8000支持多种通信方式.Modbus RTU/TCP作为公开的总线技术,用于与上位机通信的使用相当广泛,但面对未来适用于更多场合.更多不同的应用,以 ...

  7. 嵌入式以太网温湿度远程监控系统(MCU、上位机源码+论文)

    (毕业设计)嵌入式以太网温湿度远程监控系统(MCU源码+上位机源码+毕业论文): 前言: 温度和湿度的检测是许多行业的重要工作之一,不论是货品仓库.生产车间,都需要有规定的温度和湿度,然而温度和湿度却 ...

  8. ESP32外扩以太网接口+RS485

    原参考网址:科创 https://www.kechuang.org/t/85425 简介 主要是把以太网接口加上了,中间遇到ESP32与LAN8720通讯的小坑(建议用ESP32 GPIO输出时钟给L ...

  9. 中山联禾科技推出永宏FB PLC数据采集模块

    参考: 中山联禾科技推出永宏FB PLC数据采集模块 1.1产品简述 LHNet-FB 是一款以太网通信转换处理器,是为工业设备信息化而生,可满足使用者对于数据监控,设备的生产管理的需求,主要用于永宏 ...

最新文章

  1. Windows支持直接访问Linux子系统文件:你的下一台Linux何必是Linux
  2. leetcode算法题--不用加减乘除做加法
  3. 如何发布打印机文件夹及ICA 客户端打印机配置工具
  4. webpack中使用jquery
  5. 20165203 《网络对抗技术》week1 Kali的安装与配置
  6. 这段 Python 代码让程序员赚 300W,公司已确认!网友:神操作!
  7. 个人pkm软件 pim软件_个人申请软件著作权需要走哪些流程
  8. 利用Git查看项目代码总行数
  9. cpu负载过高问题处理
  10. 解读cartographer/common/port.h--Cartographer(一)
  11. Myeclipse中JSP页面快捷键注释失效解决方法
  12. Oracle9iClient简化版的安装与tnsnames配置,sqlplus的连接
  13. 费曼纪念日,霍金和蚁人下了一盘的“量子象棋”
  14. localhost基本概念
  15. 我的世界空岛生存服务器制作,我的世界Wishing服务器-RPG丨空岛丨生存丨[1.12.2-1.16.1]...
  16. java 物体移动不了总结_java9迁移注意问题总结
  17. 串口转以太网服务器市场现状研究分析与发展前景预测报告
  18. 展示正在活动时间内的活动,过期活动不显示
  19. 夺命聘礼【三】- 原创中篇小说
  20. ns-3-model-library wifi 浅析_ns-3wifi部分解析_ns-3网络模拟器wifi部分文档分析_Part1

热门文章

  1. 数字证书、签名到底是什么?这篇文章讲得太好了
  2. Java架构-JavaSE(三)之static、final、abstract修饰符
  3. 流式细胞仪生物信息学CRO丨Cytapex功能简介
  4. Android release:transformClassesAndResourcesWithProguardForRelease
  5. c专家编程/c陷阱_编程中的进取陷阱
  6. 眼动追踪-NeuroIS-基础知识总结
  7. android 3d flip动画,3D Flip Board
  8. 如何写出一份完整的发明专利
  9. PMP十万个为什么(一)
  10. 【概率论与数理统计】猴博士 笔记 p21-23 二维连续型求边缘分布函数和密度函数,已知两个边缘密度函数求f(x,y)