关键词 |
GEIO控制包,GEIO控制包,GEIO控制包,GEIO控制包 |
面向地区 |
全国 |
启动 MODBUS 事务处理的客户机创建 MODBUS 应用数据单元。功能码向服务器指示将执行哪种操作。
MODBUS 协议建立了客户机启动的请求格式。
用一个字节编码 MODBUS 数据单元的功能码域。有效的码字范围是十进制 1-255(128-255 为异常响应保留)。当从客户机向服务器设备发送报文时,功能码域通知服务器执行哪种操作。
向一些功能码加入子功能码来定义多项操作。
从客户机向服务器设备发送的报文数据域包括附加信息,服务器使用这个信息执行功能码定义的操作。这个域还包括离散项目和寄存器地址、处理的项目数量以及域中的实际数据字节数。
在某种请求中,数据域可以是不存在的(0长度),在此情况下服务器不需要任何附加信息。功能码仅说明操作。
如果在一个正确接收的 MODBUS ADU 中,不出现与请求 MODBUS 功能有关的差错,那么服务器至客户机的响应数据域包括请求数据。如果出现与请求 MODBUS 功能有关的差错,那么域包括一个异常码,服务器应用能够使用这个域确定下一个执行的操作。
例如,客户机能够读一组离散量输出或输入的开/关状态,或者客户机能够读/写一组寄存器的数据内容。
当服务器对客户机响应时,它使用功能码域来指示正常(无差错)响应或者出现某种差错(称为异常响应)。对于一个正常响应来说,服务器仅对原始功能码响应。
注释:需要管理超时,以便明确地等待可能不会出现的应答。
串行链路上个MODBUS 执行的长度约束限制了MODBUS PDU 大小(大RS485ADU=256字节)。
因此,对串行链路通信来说,MODBUS PDU=256-服务器地址(1 字节)-CRC(2 字节)=253字节。
从而:
RS232 / RS485 ADU = 253 字节+服务器地址(1字节) + CRC (2 字节) = 256 字节。
TCP MODBUS ADU = 249 字节+ MBAP (7 字节) = 256 字节。
MODBUS 协议定义了三种 PDU。它们是:
MODBUS 请求 PDU,mb_req_pdu
MODBUS 响应 PDU,mb_rsp_pdu
MODBUS 异常响应 PDU,mb_excep_rsp_pdu
定义 mb_req_pdu 为:
mb_req_pdu = { function_code, request_data},其中
function_code - [1 个字节] MODBUS 功能码
request_data - [n 个字节],这个域与功能码有关,并且通常包括诸如可变参考、变量、数据偏移量、子功能码等信息。
定义 mb_rsp_pdu 为:
mb_rsp_pdu = { function_code, response_ data},其中
function_code - [1 个字节] MODBUS 功能码
response_data - [n 个字节],这个域与功能码有关,并且通常包括诸如可变参考、变量、数据偏移量、子功能码等信息。
定义 mb_excep_rsp_pdu 为:
mb_excep_rsp_pdu = { function_code, request_data},其中
function_code - [1 个字节] MODBUS 功能码 + 0x80
exception_code - [1 个字节],在下表中定义了 MODBUS 异常码。
4.2 数据编码
MODBUS 使用一个‘big-Endian’ 表示地址和数据项。这意味着当发射多个字节时,发送高有效位。例如:
寄存器大小 值
16 – 比特 0x1234 发送的字节为 0x12 然后 0x34
输入与输出之间以及比特寻址的和字寻址的数据项之间的区别并没有暗示任何应用操作。如果这是对可疑对象核心部分自然的解释,那么这种区别是可完全接受的,而且很普通,以便认为四个表格全部覆盖了另外一个表格。
对于基本表格中任何一项,协议都允许单个地选择 65536 个数据项,而且设计那些项的读写操作可以越过多个连续数据项直到数据大小规格限制,这个数据大小规格限制与事务处理功能码有关。很显然,将通过 MODBUS 处理的所有数据放置在设备应用存储器中。但是,存储器的物理地址不应该与数据参考混淆。要求仅仅是数据参考与物理地址的链接。
MODBUS 功能码中使用的 MODBUS 逻辑参考数字是以 0 开始的无符号整数索引。
MODBUS 模型实现的实例
下例实例示出了两种在设备中构造数据的方法。可能有不同的结构,这个文件中没有全部描述出来。每个设备根据其应用都有它自己的数据结构。
实例 1:有 4 个立块的设备
下例实例示出了设备中的数据结构,这个设备含有数字量和模拟量、输入量和输出量。由于不同块中的数据不相关,每个块是相互立。按不同MODBUS 功能码访问每个块。
一旦服务器处理请求,使用合适的 MODBUS 服务器事务建立 MODBUS 响应。
根据处理结果,可以建立两种类型响应:
一个正 MODBUS 响应:
响应功能码 = 请求功能码
一个 MODBUS 异常响应:
01、用来为客户机提供处理过程中与被发现的差错相关的信息;
02、响应功能码 = 请求功能码 + 0x80;
03、提供一个异常码来指示差错原因。
5、功能码分类
有三类 MODBUS 功能码。它们是:
公共功能码
是较好地被定义的功能码,
是的,
MODBUS 组织可改变的,
公开证明的,
具有可用的一致性测试,
MB IETF RFC 中证明的,
包含已被定义的公共指配功能码和未来使用的未指配保留供功能码。
用户定义功能码
有两个用户定义功能码的定义范围,即 65 至 72 和十进制 100 至 110。
用户没有 MODBUS 组织的任何批准就可以选择和实现一个功能码
不能被选功能码的使用是的。
如果用户要重新设置功能作为一个公共功能码,那么用户启动 RFC,以便将改变引入公共分类中,并且指配一个新的公共功能码。
保留功能码
一些公司对传统产品通常使用的功能码,并且对公共使用是无效的功能码。
请求参数描述:
指配号为14的MODBUS封装接口识别读识别码请求。定义四种访问类型:
01:请求获得基本设备识别码(流访问)
02:请求获得正常设备识别码(流访问)
03:请求获得扩展设备识别码(流访问)
04:请求获得特定识别码对象(访问)
在识别码数据不适合单响应的情况下,可以需要几个请求/响应事务处理。对象id字节给出了获得的个对象识别码。对于个事物处理来说,客户机设置对象id为0,以便获得设备识别码数据的开始。对于下列事务来说,客户机设置对象id为前面响应中服务器的返回值。
如果对象id不符合任何已知对象,那么服务器象指向对象0那样响应(从头开始)。
在单个访问的情况下:ReadDevId代码04,请求中的对象id给出了获得的对象识别码。
如果对象id不符合任何已知对象,那么服务器返回一个异常码=02(非法数据地址)的异常响应。
响应参数描述:
功能码: 功能码 43(十进制)0x2B (十六进制)
MEI 类型: 为设备识别码接口指配号的 14 (0x0E) MEI 类型
ReadDevId 码: 与请求 ReadDevId 码相同:01、02、03 或 04
一致性等级: 设备的识别码一致性等级和支持访问的类型
01:基本识别码(仅流访问)
02:正常识别码(仅流访问)
03:扩展识别码(仅流访问)
81:基本识别码(流访问和单个访问)
82:正常识别码(流访问和单个访问)
83:扩展识别码(流访问和单个访问)
随后更多: 在 ReadDevId 码 01、02或03(流访问)的情况下,
如果识别码数据不符合单个响应,那么需要几个请求/响应事务处理。
00:对象不再是可利用的
FF:其它识别码对象是可利用的,并且需要更多 MODBUS 事务处理
在 ReadDevId码04(单个访问)的情况下,
设置这个域为00。
下一个对象 Id: 如果“随后更多=FF”,那么请求下一个对象的识别码
如果“随后更多=00”,那么设置为00(无用的)对象号
在响应中返回的对象识别码号
(对于单个访问,对象号码= 1)
对象 0.id: PDU 中返回的个对象识别码(流访问)或请求对象的识别码(单个访问)
Object0.长度: 个对象的字节长度
Object0.值: 个对象的值(对象0.长度字节)
…
ObjectN.id: 后对象的识别码(在响应中)
ObjectN.长度: 后对象的字节长度
ObjectN.值: 后对象的值(对象N.长度字节)
“基本设备识别码”的读设备识别码请求的实例:在这个实例中,一个响应PDU中发送所有的报文。
IS420UCSBH4A是通用电气制造的控制模块,是Mark VIe系列的一部分,用于燃气涡轮控制系统,带有1066 MHz的Intel EP80579微处理器。应用程序代码由称为UCSB控制器的立计算机执行。控制器通过板载1/0网络接口安装在面板上,与I/O包进行通信。只有Mark控制I/O模块和控制器被私有的、的以太网(即IONet)所支持。控制器的操作系统(OS)是QNX中微子,一种实时多任务操作系统,为要求的速度和可靠性的工业应用开发。UCSB控制器没有任何应用程序I/O主机,而传统控制器在背板上承载应用程序I/O。此外,每个控制器都可以访问所有的I/O网络,为它们提供所有的输入数据。
如果控制器因维护或维修而关闭,硬件和软件架构确保没有应用程序输入的单点丢失。使用Mark VIeS UCSBSIA安全控制器和安全1/0模块实现功能安全回路,以实现SIL 2和3功能。熟悉SIS应用的操作人员使用Mark Vles安全设备,以降低关键安全功能的风险。这些特殊的控制硬件和软件具有IEC 61508认证,并配置与安全控制器和分布式I/O模块的工作。
UCSB控制器提供以下优点:
单模块
内置电源
不需要跳线设置
没有电池
无风扇(UCSBSIA, UCSBHIA, UCSBH4A)
双冗余风扇,支持IS420UCSBH3A
小面板的足迹
闪存可以方便地更新
UCSB安装:
直接安装到面板金属板上的单个模块包含控制器。模块外壳和安装的尺寸如下图所示。每一项测量都以英寸为单位。UCSB如图所示安装在面板上,垂直气流通过翅片保持畅通。
厦门雄霸电子商务有限公司 主营(DCS系统)(机器人系统)(大型伺服控制系统)模块 备件的销售。公司经营范围:分布式控制系统(DCS) 、可编程序控制器(PLC)、 MOTOROLA MVME工业用模组 、工业控制通讯转换器(Anybus) 、远端输出/输入模块(RTU) 、工业电脑(IPC)、 工业用低频萤幕(IPC) 、人机界面SCSI(50、68、80Pin) AnyBus(Gateway)。厦门雄霸从事工控行业十几年,现已成一家性的工业自动化备件及零部件的销售企业。 我司能直接从境外进货、能够提供不同国别、厂商的设备以及备件、解决您多处寻找的麻烦或对产品质量问题的担心等、在价格上我们有很大的优势。
————— 认证资质 —————