F161_MRD_STATUS

在RUN模式下获取状态数据

从复合通信单元的指定COM端口读取状态数据。

参数

输入

s_Port (WORD, INT, UINT)

指定数据传输到的MCU的插槽编号(高位字节)和端口号(低位字节)。

  • 16#xx01:插槽16#xx中MCU上的COM1

  • 16#xx02:插槽16#xx中MCU上的COM2

输出

d1_Status (MCU_STATUS_DUT)

预定义DUT中定义的通信参数

错误标志

sys_bIsOperationErrorHold(变为TRUE并保持为TRUE)
  • 如果使用索引寄存器指定的区域超出限制。
  • 如果指定插槽中不存在MCU单元或应发送零字节。
  • 如果指定的通信端口不存在
sys_bIsOperationErrorNonHold(对于一次扫描变为TRUE)
  • 如果使用索引寄存器指定的区域超出限制。
  • 如果指定插槽中不存在MCU单元或应发送零字节。
  • 如果指定的通信端口不存在

示例

POU头

所有用于编程此函数的输入和输出变量已在POU头中声明。 所有编程语言使用相同的POU头。

	VAR
		ReadCommunicationParameter: BOOL:=FALSE;
		McuStatus: MCU_STATUS_DUT;
	END_VAR

LD本体

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 6 ;
        NETWORK_BODY
B(B_VARIN,,ReadCommunicationParameter,15,3,17,5,);
B(B_VARIN,,16#0201,15,4,17,6,);
B(B_COMMENT,,The status parameters MCU_STATUS_DUT of port 1 of the MCU in slot 2 are read:,2,1,34,2,);
B(B_VAROUT,,McuStatus,27,4,29,6,);
B(B_F,F161_MRD_STATUS!,,17,2,27,6,,?DEN?Ds_Port?AENO?Cd1_Status);
L(1,0,1,6);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST本体

(*The status parameters MCU_STATUS_DUT of port 1 of the MCU in slot 2 are read:*)
if (ReadCommunicationParameter) then
   F161_MRD_STATUS(s_Port := 16#0201, d1_Status => McuStatus);
end_if;

最后更新日期: 此页面上的反馈松下热线