DEF EthernetKRL()文件机器人程序中的设置:
EKI_Check(Ret:IN,Type:IN,strChannelName[]:IN)– 检查函数是否有错误
Ethernet KRL 会在出现任何错误时在 smartHMI 上输出一条信息。可禁用信息的自动输出。
检查运行函数时是否出错:
将读取错误编号并在 smartHMI 上输出相应的信息。
可选:如果给出了通道名称,则在接收数据时会询问是否存在错误参数 .
参数 1 EKI_STATUS
所检查函数的返回值
参数 2 类型:ENUM
在 smartHMI 上输出的信息类型:
#NOTIFY :提示信息
#STATE:状态信息
#QUIT :确认信息
#WAITING:等待信息
参数 3 (可选) 类型:CHAR应检查的打开的通道名称
示例 :EKI_CHECK(RET,#QUIT)
如果自动信息输出已被禁用,建议用 EKI_CHECK() 检查在运行函数时是否出错:
将读取错误编号并在 smartHMI 上输出相应的信息。
如果在 EKI_CHECK() 中给出了通道名称,则在接收数据时会询问是否存在错误。
每次调用 EKI_CHECK() 时将调用程序 KRC:R1TPEthernetKRLEthernetKRL_USER.SRC。在该程序中可编程设定用户特定的错误反应。
EKI_Open RET = EKI_Open(CHAR[]) 打开初始化的通道
当外部系统配置为服务器时,EKI_Open() 会中断程序运行,直至与外部系统的连接激活为止。
只能用函数 EKI_OPEN() 恢复连接。
EKI 配置为客户端时,EKI 将与外部系统(= 服务器)连接。
EKI 配置为服务器时,EKI 将等待外部系统 (= 客户端)的连接问询。
RET = EKI_Open(通道名称)
RET 反馈值,类型:EKI_STATUS
示例 RET = EKI_Open("Channel_1")
程序结构:
GLOBALDEFFCTEKI_STATUS EKI_Open(strChannelName[]:IN)
DECLCHAR strChannelName[] 通道的名称变量声明
DECLSTATE_T Stat
DECLMODUS_T Mode
DECLEKI_STATUS Ret
Mode = #SYNC 工作模式:一旦伙伴控制器从接收缓冲区中获取了传输的数据,就认为CWRITE语句已执行。
Ret = EKI_NULL_STATUS
CONTINUE
CWRITE($FCT_CALL,Stat,Mode,"EFC_eki_Open",strChannelName[])
使用”EFC_eki_Open”打开EthernetKRL文件的通道名
Ret.Msg_No = Stat.Msg_No
IF(Ret.Msg_No == 0)THEN 如果反馈状态信息号是0 就认为连接成功.
Ret.Connected = true
ENDIF
RETURN Ret
ENDFCT
通过命令通道$ FCT_CALL进行通信
CWRITE
触发器中不能进行CWRITE调用。而是可以在触发器子程序中使用CWRITE。
CWRITE将数据写入LD_EXT_OBJ类型的已加载外部模块。在已加载的LD_EXT_FCT类型的外部模块中,CWRITE调用一个函数。
CWRITE将命令写入命令通道$ CMD。
CWRITE通过命令通道$ FCT_CALL调用一个函数。
CWRITE触发提前运行停止。
CWRITE ( HandleΙ$CMDΙ$FCT_CALL, State, Mode, Format, Var1 < ,
…, Var10 >)
HandleΙ类型:INT
处理由COPEN传递给CWRITE的变量,以标识到外部模块的通道.
$ CMD预定义句柄变量,用于写入命令通道$ CMD
$ FCT_CALL预定义句柄变量,用于写入命令通道$ FCT_CALL
State类型:STATE_T ; 自动返回到CWRITE的状态
Mode类型:MODUS_T ;必须初始化写模式。
Format类型:CHAR数组
必须先将变量Var1…Var10转换为文本字符串,然后才能将其写入通道。格式定义要生成的文本的格式。必须为每个变量指定一种格式。
Var1 … Var10
其数据写入通道的变量。每个语句最多可以有10个变量。
对于类型为LD_EXT_FCT和命令通道$ FCT_CALL的外部模块:变量Var1…Var10包含使用Format调用的函数的传递参数。
Format : 读/写的“格式”变量
$FCT_CALL
命令通道$ FCT_CALL的管理号(句柄)
CWRITE()函数可用于通过$ FCT_CALL命令通道调用函数。变量本身具有写保护。
命令通道$ FCT_CALL的功能
使用CWRITE调用命令通道$ FCT_CALL的文件系统功能。进行调用时,必须将功能参数作为Var1…Var10传送到CWRITE。此外,由CWRITE传输的写入模式必须为#SYNC。
可以从机器人解释程序或提交解释程序调用文件系统功能。不允许从一个解释器打开文件然后从另一个解释器访问文件,例如 写入或再次关闭文件。
编辑:jq
全部0条评论
快来发表一下你的评论吧 !