以KEI与上位机TCP通讯时:
问题描述:
- 作为服务器通讯,出现服务器创建失败
服务已经开启,不能再次开启服务(如执行以下操作),否则容易出现报警
RET=EKI_Open("EKIServer")
RET=EKI_Init("EKIServer")
报警如下:
原因分析:
作为服务器通讯,出现服务器创建失败
- 作为服务器,和作为客户端工作模式不一样,当服务器处于没有连入客户端的时候,程序始终重复初始化及打开服务器,出现服务器创建失败
解决方案:
定义Carry.XML 文件
<ETHERNETKRL>
<CONFIGURATION>
<EXTERNAL>
<TYPE>Client</TYPE>
</EXTERNAL>
<INTERNAL>
<ENVIRONMENT>System</ENVIRONMENT>
<IP>192.168.1.88</IP>
<PORT>54605</PORT>
<ALIVE Set_Flag="17" />
</INTERNAL>
</CONFIGURATION>
<RECEIVE>
<RAW>
<ELEMENT Tag="Buffer" Type="BYTE" Set_Flag="18" Size="272" />
</RAW>
</RECEIVE>
<SEND />
</ETHERNETKRL>
在submit程序中添加Init EKI初始化程序及UsePlc 循环执行程序。
Init EKI初始化执行程序添加 (首次运行执行一次)
RET=EKI_Init("Carrys")
RET=EKI_Open("Carrys")
User Plc 循环执行程序。(当连接断开时,再次打开服务)
;Fold KEI Reconnect
IF not $flag[17] and $FLAG[15] THEN
RET=EKI_Open("Carrys")
$FLAG[15]=false
ENDIF
IF $FLAG[17] THEN
$FLAG[15]=TRUE
ENDIF
;Endfold