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