EPSON TCP/IP 通信
EPSON SCARA機(jī)器人TCP/IP 通信時(shí),涉及到的相關(guān)指令說(shuō)明。
14.3 TCP/IP命令。
OpenNet # 端口編號(hào) As { Client | Server }
說(shuō)明:??OpenNet用于打開(kāi)TCP/IP端口,以便與網(wǎng)絡(luò)上的其它電腦進(jìn)行通信。1個(gè)系統(tǒng)作為服務(wù)器打開(kāi),其它系統(tǒng)作為客戶(hù)端打開(kāi)。先啟動(dòng)哪個(gè)都可以
格式:?? OpenNet # 端口編號(hào) As { Client | Server }
參數(shù):?? 端口編號(hào)? 指定要打開(kāi)的TCP/IP端口編號(hào)的整數(shù)值。端口編號(hào)的范圍為201 - 216。
示例:
OpenNet( 端口編號(hào) )
說(shuō)明:??? 用于獲取實(shí)施OpenNet的任務(wù)編號(hào)。
格式: ?? OpenNet( 端口編號(hào) )??
參數(shù):?? ??端口編號(hào)?指定要打開(kāi)的TCP/IP端口編號(hào)的整數(shù)值。端口編號(hào)的范圍為201 - 216。
示例:
ChkNet(通信端口編號(hào))
說(shuō)明:?????? 用于返回網(wǎng)絡(luò)端口的接收緩沖器內(nèi)的字符數(shù)。
格式:?????? ChkNet(通信端口編號(hào))
參數(shù):? ?? ?通信端口編號(hào)?指定TCP/IP端口編號(hào) (201- 216)。
返回值:?? 返回接收字符數(shù)(整數(shù)值)。
???????????? ?? 如果不存在接收數(shù)據(jù),以下述負(fù)值返回端口狀態(tài)。
??????????????? -1? 端口已打開(kāi),但是未確立通信
??????????????? -2? 其他任務(wù)正在使用端口
??????????????? -3? 未打開(kāi)端口
示例:
Integer numChars numChars = ChkNet(201)
CloseNet# 通信端口編號(hào)| All
說(shuō)明:? 用于關(guān)閉OpenNet打開(kāi)的TCP/IP端口。
格式:? CloseNet# 通信端口編號(hào)| All
參數(shù):?通信端口編號(hào)? 指定要關(guān)閉的TCP/IP端口編號(hào)(201 - 216)。
???????? ??如果指定All,將關(guān)閉該任務(wù)打開(kāi)的所有TCP/IP端口。
示例:
SetNet #通信端口編號(hào),主機(jī)地址,TCP/IP端口編號(hào),終止符,流控制,超時(shí)時(shí)間
說(shuō)明:? 用于設(shè)置TCP/IP端口參數(shù)。
格式:? SetNet #通信端口編號(hào),主機(jī)地址,TCP/IP端口編號(hào),終止符,流控制,超時(shí)時(shí)間
參數(shù):?通信端口編號(hào)? 指定要設(shè)置參數(shù)的TCP/IP的端口編號(hào)。范圍為201 - 216。
??????????? 主機(jī)地址? 指定主機(jī)的IP地址。
??????????? TCP/IP端口編號(hào)? 指定TCP/IP端口編號(hào)。
??????????? 終止符? 指定CR、LF、CRLF中某個(gè)行末字符。
??????????? 流控制? 是指軟件流控制。指定NONE。
??????????? 超時(shí)時(shí)間? 以秒指定收發(fā)的最長(zhǎng)時(shí)間。指定0時(shí),超時(shí)則變?yōu)闊o(wú)限。
?備注:? 參數(shù)被保存在控制器內(nèi)的小型閃存卡中。如果執(zhí)行SetNet,則會(huì)向小型閃存卡執(zhí)行寫(xiě)入操作。!!
??????????? 過(guò)于頻繁地向小型閃存卡執(zhí)行寫(xiě)入會(huì)影響到卡的使用壽命。建議僅在需要變更參數(shù)時(shí)執(zhí)行SetNet。!!
示例:
SetNet#201, "192.168.0.1", 2001, CRLF, NONE, 0Print #端口編號(hào),? 輸出數(shù)據(jù)[,輸出數(shù)據(jù)...] [,]?
說(shuō)明:? Print # 用于將變量數(shù)據(jù)、數(shù)值或字符串輸出到由端口編號(hào)指定的通信端口或裝置中。
格式:? Print #端口編號(hào),? 輸出數(shù)據(jù)[,輸出數(shù)據(jù)...] [,]
參數(shù):? 端口編號(hào)? 是表示文件、通信端口、數(shù)據(jù)庫(kù)或裝置的ID編號(hào)。
????????????????????????? 文件編號(hào)是由ROpen、WOpen、AOpen等語(yǔ)句指定的編號(hào)。
????????????????????????? 通信端口編號(hào)是由OpenCom(RS-232C)或OpenNet(TCP/IP)語(yǔ)句指定的編號(hào)。
????????????????????????? 數(shù)據(jù)庫(kù)編號(hào)是由OpenDB語(yǔ)句指定的編號(hào)。
????????????????????????? 裝置ID為以下數(shù)值。
???????????????????????????????? 21 RC+
???????????????????????????????? 24 TP
???????????????????????????????? 28 LCD
???????? ? 輸出數(shù)據(jù)...? 指定數(shù)值或字符串。
???????? ? , (逗號(hào))?? 如果語(yǔ)句的結(jié)尾有逗號(hào),則不進(jìn)行改行。可省略。
注意: 最大數(shù)據(jù)長(zhǎng)度!
本命令一次可處理的最大數(shù)據(jù)長(zhǎng)度為256 Byte。但對(duì)象為數(shù)據(jù)庫(kù)時(shí),最大數(shù)據(jù)長(zhǎng)度為4096 Byte。
與其它控制器進(jìn)行變量交換時(shí) -? 指定多個(gè)字符串變量,以及指定數(shù)值變量和字符串變量?jī)烧邥r(shí),需要在字符串?dāng)?shù)值數(shù)據(jù)中明確添加分隔符(定多個(gè)字。
使用通信端口交接控制器之間的字符串變量、數(shù)值變量。
發(fā)送側(cè)? (任一模式即為OK。)
接收側(cè)
Input #PortNum, Response$, InData, OutData 向文件寫(xiě)入時(shí)進(jìn)行緩沖:可利用Flush語(yǔ)句寫(xiě)入被緩沖的數(shù)據(jù)。利用Close語(yǔ)句關(guān)閉文件時(shí)也進(jìn)行寫(xiě)入。
示例:
Function printex String temp$ Print #1, "5" '將_5輸出到端口_1中 temp$ = "hello"Print #1, temp$ Print #2, temp$ Print #1 " Next message for port 1" Print #2 " Next message for port 2" Fend
Input? #端口編號(hào),變量名[,變量名,變量名,...]
說(shuō)明: 用于從文件、通信端口、數(shù)據(jù)庫(kù)或裝置接收字符串或數(shù)值數(shù)據(jù),并將其據(jù)保存到變量中。
格式: Input? #端口編號(hào),變量名[,變量名,變量名,...]
參數(shù): 端口編號(hào)? 是表示文件、通信端口、數(shù)據(jù)庫(kù)或裝置的ID編號(hào)。
???????? ? ? ? ?????????? 文件編號(hào)是由ROpen、WOpen、AOpen等語(yǔ)句指定的編號(hào)。
????????????????????????? 通信端口編號(hào)是由OpenCom(RS-232C) 或OpenNet(TCP/IP) 語(yǔ)句指定的編號(hào)。
???????? ? ? ? ?????????? 數(shù)據(jù)庫(kù)編號(hào)是由OpenDB語(yǔ)句指定的編號(hào)。
??????? ? ? ? ??????????? 裝置ID為以下數(shù)值。
??????????????????? ? ? ? ?? 21 RC+
???????????????????????????? 24 TP
???????? ? 變量名? 指定接收數(shù)據(jù)的變量名。
?????????注意:
?????? ?? 數(shù)值輸入規(guī)則:進(jìn)行數(shù)值輸入時(shí),如果有分隔符以外的非數(shù)值數(shù)據(jù),將舍去該非數(shù)值數(shù)據(jù)及其以后的數(shù)據(jù)。
??????? ? 字符串輸入規(guī)則:代入到字符串中時(shí),將把數(shù)字和字母作為字符處理。
?????? ?? 最大數(shù)據(jù)長(zhǎng)度:本命令一次可處理的最大數(shù)據(jù)長(zhǎng)度為256 Byte。但對(duì)象為數(shù)據(jù)庫(kù)時(shí),最大數(shù)據(jù)長(zhǎng)度為4096 Byte。
?????? ?? 與其他的Input命令有關(guān)的規(guī)則:
??????????????? -為代入對(duì)象指定多個(gè)變量時(shí),各個(gè)要代入的數(shù)值數(shù)據(jù)必須用分隔符“,” 或空白(“”)分隔。
??????????????? -指定多個(gè)字符串變量以及指定數(shù)值變量和字符串變量?jī)烧邥r(shí),數(shù)值數(shù)據(jù)必須用分隔符“,”或空白、(“”)分隔,而字符串?dāng)?shù)據(jù)必須用分隔符“,” 分隔。
??????????????? -輸入數(shù)據(jù)類(lèi)型必須符合代入對(duì)象的變量類(lèi)型。
???????? 使用通信端口交接控制器之間的字符串變量、數(shù)值變量示例:
??????????????? 發(fā)送方? (任一模式即為OK。)
Input #PortNum, Response$, InData, OutData ???????? 易引起的錯(cuò)誤:指定的變量數(shù)與輸入數(shù)據(jù)的數(shù)量不一致時(shí),如果命令指定的變量數(shù)與從設(shè)備接收的數(shù)值數(shù)據(jù)的數(shù)量不一致,將出現(xiàn)錯(cuò)誤2505。
示例:
Function GetData Integer A String B$ OpenCom #1 Print #1, "Send" Input #1, A'從端口#1獲取數(shù)值Input #1, B$ '從端口#1獲取字符串CloseCom #1 Fend
Line Input #端口編號(hào),字符串變量名$
說(shuō)明:? Line Input # 用于從由端口編號(hào)指定的裝置讀入讀入1行數(shù)據(jù),并代入到由字符串變量名$指定的變量中。
格式:? Line Input #端口編號(hào),字符串變量名$
參數(shù):
??????????? 端口編號(hào)? 是表示文件、通信端口、數(shù)據(jù)庫(kù)或裝置的ID編號(hào)。
?????????? ? ? ? ? ? ? ? ? 通信端口編號(hào)是由OpenCom(RS-232C) 或OpenNet(TCP/IP) 語(yǔ)句指定的編號(hào)。
?????????????????????????? 數(shù)據(jù)庫(kù)編號(hào)是由OpenDB語(yǔ)句指定的編號(hào)。
?????????????????????????? 裝置ID為以下數(shù)值。
??????????????????????????????? 21 RC+
??????????????????????????????? 24 TP
??????????? 字符串變量名$,? 指定字符串變量名。(請(qǐng)?jiān)谧址兞棵詈蟾郊?。)
示例:?
Read #端口編號(hào),字符串變量$,字符數(shù)
說(shuō)明: 用于從文件或通信端口讀入指定的字符數(shù)。
格式: Read #端口編號(hào),字符串變量$,字符數(shù)
參數(shù):
?????????? 端口編號(hào)? 是表示文件或通信端口的ID編號(hào)。
???????????????????????? 文件編號(hào)是由ROpen、WOpen、AOpen等語(yǔ)句指定的編號(hào)。
???????????????????????? 通信端口編號(hào)是由OpenCom (RS-232C) 或OpenNet (TCP/IP) 語(yǔ)句指定的編號(hào)。
??????? ?? 字符串變量$? 指定接收字符串的字符串變量名。
?????????? 字符數(shù)? 指定要讀入的字節(jié)數(shù)。
示例:
ReadBin #端口編號(hào),變量名
ReadBin #端口編號(hào),數(shù)組變量名(),字節(jié)數(shù)
說(shuō)明:? 用于從文件或通信端口讀取二進(jìn)制數(shù)據(jù)。
格式:? ReadBin #端口編號(hào),數(shù)組變量名(),字節(jié)數(shù)
參數(shù): ?端口編號(hào)? 是表示文件或通信端口的ID編號(hào)。
????????????????????????? 文件編號(hào)是由BOpen等語(yǔ)句指定的編號(hào)。
????????????????????????? 通信端口編號(hào)是由OpenCom (RS-232C) 或OpenNet (TCP/IP) 語(yǔ)句指定的編號(hào)。
?????????? 變量名???? 指定接收數(shù)據(jù)字節(jié)以及Byte型變量、整數(shù)變量或Long型變量的名稱(chēng)。
?????????? 數(shù)組變量名()? 指定接收數(shù)據(jù)字節(jié)以及Byte型變量、整數(shù)變量或Long型變量的名稱(chēng)。可指定一維數(shù)組變量。
?????????? 字節(jié)數(shù)? 指定要讀入的字節(jié)數(shù)。需為最大數(shù)組下標(biāo)以下(也就是不能超過(guò)數(shù)組下標(biāo),否則數(shù)組容易溢出)。
示例:
Write # 端口編號(hào), 字符串
說(shuō)明:? 用于將字符串寫(xiě)入到文件或通信端口中。不附加行末終止符。Write命令不同于Print命令,不附加行末終止符。
格式:? Write # 端口編號(hào), 字符串
參數(shù):??端口編號(hào)? 是表示文件或通信端口的ID編號(hào)。
????????????????????????? 文件編號(hào)是由ROpen、WOpen、AOpen等語(yǔ)句指定的編號(hào)。
????????????????????? ? ? 通信端口編號(hào)是由OpenCom(RS-232C)或OpenNet(TCP/IP)語(yǔ)句指定的編號(hào)。
????????? ? 字符串???? 指定要寫(xiě)入的字符串。
? 注意: 向文件寫(xiě)入時(shí)進(jìn)行緩沖。可利用Flush語(yǔ)句寫(xiě)入被緩沖的數(shù)據(jù)。利用Close語(yǔ)句關(guān)閉文件時(shí)也進(jìn)行寫(xiě)入。
示例:
WriteBin #端口編號(hào),寫(xiě)入數(shù)據(jù)
WriteBin #端口編號(hào),數(shù)組變量名(), 字節(jié)數(shù)
說(shuō)明:? 用于將二進(jìn)制數(shù)據(jù)寫(xiě)到文件或通信端口中。
格式:? WriteBin #端口編號(hào),寫(xiě)入數(shù)據(jù)
????????? ? WriteBin #端口編號(hào),數(shù)組變量名(), 字節(jié)數(shù)
參數(shù):? 端口編號(hào)? 是表示文件或通信端口的ID編號(hào)。
?????????????????????????? 文件編號(hào)是由BOpen等語(yǔ)句指定的編號(hào)。
?????????????????????????? 通信端口編號(hào)是由OpenCom(RS-232C)或OpenNet(TCP/IP)語(yǔ)句指定的編號(hào)。
??????????? 寫(xiě)入數(shù)據(jù)? 以整數(shù)或表達(dá)式指定要寫(xiě)入的數(shù)據(jù)。
??????????? 數(shù)組變量名()? 指定保存寫(xiě)出數(shù)據(jù)字節(jié)的Byte型變量、整數(shù)變量或Long型變量的名稱(chēng)。可指定一維數(shù)組變量。
??????????? 字節(jié)數(shù)? 指定要寫(xiě)出的字節(jié)數(shù)。需為最大數(shù)組下標(biāo)以下(也就是不能超過(guò)數(shù)組下標(biāo),否則數(shù)組容易溢出)。
示例:
Integer i, data(100) OpenCom #1 For i = 0 To 100 WriteBin#1, i Next i WriteBin#1, data(), 100 CloseCom #1
總結(jié)
以上是生活随笔為你收集整理的EPSON TCP/IP 通信的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 笔记:算法笔记-胡凡、曾磊
- 下一篇: UDS 协议软件架构