向指定TCP连接对端的C2000的指定开关量端口输出高电平或低点平。
BOOL SetSwitchValue(
long ConnectID,
long PortNum,
long Value
);
参数:
ConnectID
[in] 它唯一的标识一个与C2000的TCP连接,合理取值范围为 1—65535。ConnectID由控件分配,并在OnAccept事件中通知用户程序。
PortNum
[in] C2000开关量端口的编号,取值范围:1—128。
Value
[in] 要求在指定的C2000开关量端口上输出的电平,0—低电平,1——高电平。
返回值:
成功返回非零,失败返回零。使用透明Socket通信时,本函数总返回零。
GetSwitchValue
获得指定TCP连接对端C2000上开关量端口的输入输出电平。
long GetSwitchValue(
long ConnectID,
long PortNum
);
参数:
ConnectID
[in] 它唯一的标识一个与C2000的TCP连接,合理取值范围为 1—65535。ConnectID由控件分配,并在OnAccept事件中通知用户程序。
PortNum
[in] 端口编号,取值范围:1—128。
返回值:
指定TCP连接对端C2000上开关量端口的当前电平,0—低电平;1—高电平;3—端口未定义。使用透明Socket通信时,本函数总返回3。
GetSwitchDirection
获得指定TCP连接对端C2000上开关量端口的方向。
long GetSwitchDirection(
long ConnectID,
long PortNum
);
参数:
ConnectID
[in] 它唯一的标识一个与C2000的TCP连接,合理取值范围为 1—65535。ConnectID由控件分配,并在OnAccept事件中通知用户程序。
PortNum
[in] 端口编号,取值范围:1—128。
返回值:
指定TCP连接对端C2000上开关量端口的方向,0—输出;1—输入;3—端口未定义。使用透明Socket通信时,本函数总返回3。
以上的函数来实现总共有16个开关量输入端口的显示问题.就是现在有16个灯(用picturebox控件数组实现的).就是每个开关量的输入端口电平的变化可以用灯亮还是灯灭来观察.怎么实现?我不知道电平是怎回事?
1 个解决方案
#1
Private Sub EDSock_SwitchChange(ByVal ConnectID As Long, ByVal PortNum As Long, ByVal Value As Long)
For PortNum = 1 To 16 '特定端口显示状态
If Value = 1 Then '输入端口短路
' 加载 红灯 显示状态
picinput(PortNum - 1).Picture = LoadPicture("C:\David 's bag\Item\R.bmp")
Else
'断路状态
picinput(PortNum - 1).Picture = LoadPicture("C:\David 's bag\Item\Z.bmp")
End If
Next PortNum
End Sub
哈哈,刚弄出来了!
#1
Private Sub EDSock_SwitchChange(ByVal ConnectID As Long, ByVal PortNum As Long, ByVal Value As Long)
For PortNum = 1 To 16 '特定端口显示状态
If Value = 1 Then '输入端口短路
' 加载 红灯 显示状态
picinput(PortNum - 1).Picture = LoadPicture("C:\David 's bag\Item\R.bmp")
Else
'断路状态
picinput(PortNum - 1).Picture = LoadPicture("C:\David 's bag\Item\Z.bmp")
End If
Next PortNum
End Sub
哈哈,刚弄出来了!