djw520-0512
級(jí)別: 正式會(huì)員
|
各位老師好: 我是一個(gè)新手,最近我有一個(gè)案子,就是用字幕機(jī)來顯示plc里指定的數(shù)據(jù)區(qū)的內(nèi)容。不知道這如何做啊?? 《字幕機(jī)是有通訊協(xié)議的,我把這個(gè)協(xié)議也傳上來讓大家看看啊》如果有那位老師有能力的話可以聯(lián)系我啊!18913259279小戴。 專業(yè)型單色字幕機(jī)通訊協(xié)定 通訊協(xié)定: baud rate :9600 stop bit :1 bit parity check :none data bit :8 bits 資料格式:前導(dǎo)碼+站號(hào)+模式碼+資料+check sum+結(jié)束碼 1. 前導(dǎo)碼:02h 2. 結(jié)束碼:03h 3. 站號(hào) : 共兩個(gè)byte high byte -> ‘A’-‘Z’ low byte -> ‘0’-‘9’ 站號(hào)若為’Z’ 表示全部接收,共有’A’-‘Y’,25群組。 站號(hào)若為’0’ 表示群組接收,共有’1’-’9’,9臺(tái)字幕機(jī)。 站號(hào)若不為’Z’ 或’0’表示個(gè)別接收,則字幕機(jī)在接收之後須回覆接收狀態(tài)。 (請(qǐng)參看通訊設(shè)定的B.字幕機(jī)回應(yīng)) 4.模式碼: A. 傳送文字:A1h 02h+站號(hào)+A1h+文字資料+check sum+03h *文字資料格式-> 行號(hào)+資料模式 1. 行號(hào):從’01h’-‘FEh’共254行 2. 資料模式:停留時(shí)間+前功能+文字模式碼+文字+後功能 a. 停留時(shí)間:’00h’-‘FFh’ 表示停留時(shí)間由0秒到255秒。 b. 前後功能碼:由’A’-‘Q’共17種功能 碼 功能名稱 碼 功能名稱 碼 功能名稱 A 向左移入 B 向內(nèi)捲入(出) C 向外捲入(出) D 覆蓋向左 E 覆蓋向右 F 覆蓋向上 G 覆蓋向下 H 覆蓋向內(nèi) I 覆蓋向外 J 覆蓋↑↓ K 覆蓋↓↑ L 向上捲入(出) M 向下捲入(出) N 立即顯現(xiàn) O 同時(shí)出現(xiàn) P 跳入 Q 射入(時(shí)間) R 時(shí)間(續(xù)幕) c. 文字模式碼: i. (D0h):表示後面所接的文字為全形或半形中英數(shù)字。 ii. (D1h):表示後面所接的文字分為上下兩行之半形英數(shù)字,先送上行 再接下行。 註:不足之部份一定要補(bǔ)空白20h,且一律使用覆蓋之方式。 範(fàn)例: 站號(hào):A1 字?jǐn)?shù):10個(gè)字 編輯內(nèi)容:漢騰字幕機(jī)1234567890ABCDEFGHIJ 2 A1 a1 1 1 A d0 ba ~ c4 cb a6 r b9 f5 be f7 1234567890R 9 3傳送碼 2 A1 a1 2 1 A d0 ABCDEFGHIJ R 1a 3傳送碼 前導(dǎo)碼 站號(hào) 傳送文字碼 行號(hào) 停留時(shí)間 前功能 文字模式 漢騰字幕機(jī) 文字資料 後功能 check sum 結(jié)束碼 前導(dǎo)碼 站號(hào) 傳送文字碼 行號(hào) 停留時(shí)間 前功能 文字模式 ABCDEFGHIJ補(bǔ)10個(gè)空白 後功能 check sum 結(jié)束碼 範(fàn)例: 站號(hào):A1 字?jǐn)?shù):10個(gè)字 編輯內(nèi)容:上行 ABCDEFGHIJKLMNOPQRST 下行 12345678901234567890 2 A1 a1 1 1 A d1 ABCDEFGHIJKLMNOPQRST12345678901234567890R 7 3 前導(dǎo)碼 站號(hào) 傳送文字資料 行號(hào) 停留時(shí)間 前功能 文字模式 文字資料 後功能 CHECK SUM 結(jié)束碼 B.插播文字:A2h 02h+站號(hào)+A2h+文字資料+check sum+03h *文字資料格式-> 插播時(shí)間長(zhǎng)度+資料模式 1. 插播時(shí)間長(zhǎng)度:從’0Ah’-‘FFh’,表示10秒到255秒 2.資料模式:後面所接的文字為全形或半形中英數(shù)字(50bytes)。 註:不足之部份一定要補(bǔ)空白20h。 範(fàn)例: 站號(hào): A1 插播文字: A*50個(gè) 2 A1 a2 a AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA d8 3 前導(dǎo)碼 站號(hào) 顯示行號(hào) 停留時(shí)間 a…不足部分要補(bǔ)空白 check sum 結(jié)束碼 C.設(shè)定內(nèi)部時(shí)間:A5h 02h+站號(hào)+A5h+時(shí)間資料+check sum+03h *時(shí)間資料:時(shí)+分+秒 (共3bytes)。 請(qǐng)依照其十進(jìn)位轉(zhuǎn)成16進(jìn)位送出。 D.恢復(fù)行號(hào)內(nèi)容:A6h 02h+站號(hào)+A6h+恢復(fù)筆數(shù)+恢復(fù)行號(hào)+check sum+03h 1. 恢復(fù)筆數(shù):想要恢復(fù)行號(hào)之bytes數(shù)。 2. 恢復(fù)行號(hào):從’01h’-‘FEh’共254行 例:想要恢復(fù)4,8,9之內(nèi)容,則 (恢復(fù)筆數(shù))+(恢復(fù)行號(hào))=(03h)+(04h+08h+09h) E.刪除行號(hào)內(nèi)容:A7h 02h+站號(hào)+A7h+刪除筆數(shù)+刪除行號(hào)+check sum+03h 請(qǐng)參照.F.恢復(fù)行號(hào)內(nèi)容 F.顯示行號(hào):A8h 02h+站號(hào)+A8h+起始行號(hào)+結(jié)束行號(hào)+check sum+03h 行號(hào):從’01h’-‘FEh’共254行,結(jié)束行號(hào)一定要大於等於起始行號(hào)。 範(fàn)例: 2 A1 a8 1 1 d8 3 前導(dǎo)碼 站號(hào) 顯示行號(hào) 行號(hào) 行號(hào) check sum 結(jié)束碼 B. 字幕機(jī)回應(yīng):前導(dǎo)碼+站號(hào)+模式碼+資料+check sum+結(jié)束碼 *前導(dǎo)碼、站號(hào)、模式碼、結(jié)束碼:與前面所述皆同 *資料:1.當(dāng)接收無誤時(shí),回應(yīng):06h 2.當(dāng)接收有誤時(shí),回應(yīng):15h C. check sum的做法:將(站號(hào)+模式碼+資料,不包含前導(dǎo)碼02h)裏面的資料做XOR。 |
---|---|
|