1、网络配置
Function NetOpen
NetSts = ChkNet(202)
If (NetSts < 0) Then
CloseNet #202
Wait 0.5
SetNet #202, "192.168.0.1", 2002, CRLF, NONE, 0 '配置端口号,ip 地址
OpenNet #202 As Server
WaitNet #202
Print "配置完成!"
EndIf
Fend
2、扫描端口,获取端口数据,传输数据
Function ScanConnNet
OnErr GoTo errhandler
Do
NetSts = ChkNet(202)
If (NetSts > 0) Then
Input #202, RecvString$ '从 202 端口获取输入,并赋值到变量 RecvString$
ParseStr RecvString$, RecvStr$(), "#"
ParseStr RecvString$, RecvStr$(), " "
Select RecvStr$(0)
Case "X"
Move CurPos +X(Val(RecvStr$(1)))
Case "-X"
Move CurPos -X(Val(RecvStr$(1)))
Case "RobotRun"
CX(P100) = Val(RecvStr$(1))
CY(P100) = Val(RecvStr$(2))
CZ(P100) = Val(RecvStr$(3))
CU(P100) = Val(RecvStr$(4))
CV(P100) = Val(RecvStr$(5))
CW(P100) = Val(RecvStr$(6))
Go LJM(P100)
'发送数据到 202 端口
Print #202, "#GoToPointok"
Send
ElseIf NetSts < 0 Then
Call NetOpen
ElseIf NetSts = 0 Then
EndIf
Print #202, "#RobotPos" + "," + Str$(CX(CurPos)) + "," + Str$(CY(CurPos)) + "," + Str$(CZ(CurPos)) + "," + Str$(CU(CurPos)) + "," + Str$(CV(CurPos)) + "," + Str$(CW(CurPos)) + "#"
Wait 0.2
Loop
errHandler:
RecvString$ = ""
EResume Next
Fend
If Sw(0) = 1
Then Print "Input0 ON"
Else Print "Input0 OFF" ‘如果 0 号输入打开,那
么 0 号输出打开,如果不是,那么 0 号输出关闭
'
If Sw(1) = 1
Then ‘
如果
1
号输入打开
If Sw(2) = 1
Then ‘2
号输入打开
Print "Input1 On and Input2 ON" ‘那么 I1 和 I2 打开
Else ‘
或者
Print "Input1 On and Input2 OFF" 如果不是,那么 I1 打开并且 I2 关闭
EndIf ‘
结束
Else ‘
或者
If Sw(2) = 1
Then
如果
2
号输入打开
Print "Input1 Off and Input2 ON" 那么 I1 关闭并且 I2 打开
Else ‘
或者
Print "Input1 Off and Input2 OFF" 如果不是,那么 I1 关闭并且 I2 也关闭
EndIf ‘‘
结束
SPEL
1,SW 函数,读入 IO 状态
格式 Sw(输入 Bit 编号|输入标签)
输入 Bit 编号 : 可以使用的输入 Bit 编号
说明
检查 I/O 输入的状态。
指定输入的时候,On 的话返回“1”,Off 的话返回“0”。
例子
Print Sw(1)Wait Sw(0) = On
Wait Sw(1) = On And Sw(2) = On Wait
Sw(1) = On Or Sw(2) = On
2,Oport 函数,读取指定输出位的状态
格式 Oport(输出位编号)
例子:Wait Oport(5)
3,Wait 指令,延时等待
格式 :Wait 时间
Wait 输入条件式, [时间]
时间 : 0~2147483 秒,最小有效位数 0.01 秒