浅谈机器人标准文件的控制 Ethernet KRL

描述

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

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分