请问 斑竹 modbus里读取线圈状态指的是啥呀?啥线圈呀?
01 读取线圈状态 取得一组逻辑线圈的当前状态(ON/OFF) 楼主的理解还没有到位,大致谈一下协议的层次
通讯协议从层次上讲可分为3层,最低的物理层协议和最高的应用层协议,中间的则是传输层协议,层次越高越严格。就拿上网举个例子。<br /> Modem的信号传输本身是有协议的,不同Modem的协议是不同的,ADSL、Cable Modem、电话线Modem等都不同,即使同类Modem也有不同版本号,具体内容也不同,所以,很大程度上这个层次的协议是不兼容的,这就是物理层协议的特点,这一层次的协议首先要基于传输手段和载体,不兼容是物理需要的结果。<br /> 再上一层的是TCP/IP,到这个层次就已经可能是统一的了,这是传输层协议的特点,至少在某一类应用上传输层协议可能是兼容的,比如Internet这个应用,但不同的应用如局域网的TCP/IP就可能有不同了,早期的局域网就是如此。<br /> 到了应用层,只要应用相同就必须兼容,如不同操作系统下的各种浏览器、电子邮件等等,这一层次的协议如果涉及到完全不同的平台也要求严格兼容。当然,能否做到兼容就是另一回事了,至少兼容是目标。<br /> 在应用上,高层次的协议往往依附在低层次的协议上,层与层之间则是“透明”的。从复杂性上讲,层次越高的协议会越复杂。<br /> Modbus论层次仅仅属于传输层协议,而USB则是物理层协议、传输层协议和应用层协议的整合,所以你会看到Modbus在不同应用中有截然不同的结构,但USB只要它叫USB并且版本相同,不论在什么设备上都是兼容并可互连的,层次在这是决定因素。这是因为在国内Modbus主要用于电力行业
电力输配电设备里的接触器线圈。不过Modbus本身并非为电力行业设计,而是通用的。2th
oh,那定义自己的应用时,对应的命令代号 比如这个 01(他是读线圈) ,可不可以自己定应成别的应用含义? 这样算不算不符合 modbus规范??<br /><br />TKS 斑竹<br /><br />如果不需要与别人的产品在通讯上互连,自己可以随便定义
可以说,10余年来,我一直在宣扬Modbus的理念,在21IC也这么做了数年,我设计的有线/无线网络方面的应用,很多就是采用了Modbus的协议结构,但均为Modbus的变形,而且随需求的不同而各有不同。<br /> 思想是根本,形式则要适应应用,电力行业已有其标准,那就得遵守,毕竟那是有“讲究”的,也是经过大量实践验证、修正后的结果,但非电力行业或自成体系的应用自然就不必拘泥于形式了,可靠性和效率应当兼顾。搞技术,标准一定要遵守,但教条主义则要坚决反对。呵呵
多谢春帮主的留言。<br /><br />个人感觉,modbus协议还不是一个很严格的协议,至少不像Usb协议那样细致严格.他还算不上一种通用标准。because他的回旋余地还很大。<br />看到很多资料上都提到"它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络"之类的话。感觉也是在夸大。<br /><br />1.比如说对于 function code的定义,即便是在的电力行业,除了1-21是公共标准,其余的包括异常应答code,都是没有一个统一的标准的,这给不同的使用者以很大的发挥空间,这显然就造成了 modbus的不标准。还有比如像那个crc校验,虽然modbus有规定使用16bit crc, 但16bit_crc,本身就有 crc16和crc CCITT 两种生成多项式之分。对于这些不确定性,不同宣称使用modbus的厂家的东西如何互联呢??除非这几个厂家事先约定好。不然 我看只有本厂家和本厂家的产品可以互联。<br /><br />so,modbus 终究不是 Usb,Usb也不是 Modbus!<br /><br />hehe.<br />个人的一些看法。<br /><br />3th
物理层当然可以不统一,但在往上的每层起码应该是双方可见的吧?(对等层通信双方规约统一),否则根本通信不上呀。<br />就算modbus 属于传输层,那我想问帮主, 假定有个厂家甲的modbus产品A,和一个厂家乙的modbus的产品B。 A 产品的校验用的是CRC-16,B产品的校验用的是CRC-CCITT。A 和B 如何进行通信互联?<br />这里的CRC已属于具体应用的范畴了
Modbus规范的仅仅是格式,这是传输层协议的特点。传输层协议没有应用层协议严格,这是正常的,就像两个人讨论一件事,首先得发出音频(物理层),然后是语言(传输层),最后是事情本身(应用层)。声波远不仅仅是人类可听的频谱,语言也多种多样,但要实现交流,3个层次都必须兼容,设备的互连也同样。在这个例子中,如果没有特定的话题(相当于具体的应用),即使交流的双方都是人,都说的是很标准的国语,试问这两个人一定能互相交流吗?线圈状态实际上就是开关量
受教~~~~~~~~~~~~~~~~~ :lol 受教受教..... 我就是看了这帖子,自己制定了一个不兼容的modbus协议,罪过罪过:lol 很好,学到东西了 受教了 学习了 继续分析深入
页:
[1]