免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
關(guān)于PLC的自由通訊,很基本的實例講解

所謂的自由通訊,是指CPU串行通訊口的通訊過程完全由用戶程序進行控制。自由通訊方式支持ASCII和二進制數(shù)據(jù)通訊。用戶可以使用自由通訊方式來編寫各種自定義的通訊協(xié)議與其它設(shè)備進行通訊。
Kinco-K2/K5的CPU本體集成了1或2個串行通訊口,這些串口默認(rèn)采用Modbus RTU協(xié)議并作為從站。當(dāng)執(zhí)行用戶程序中的自由通訊指令時,自由通訊方式就被激活,通訊口完全被自由通訊占用。當(dāng)自由通訊完成后,CPU又自動將通訊口切換到默認(rèn)的協(xié)議。若CPU處于STOP狀態(tài),則自由通訊被禁止。

當(dāng)主站發(fā)出一個命令后,在下述情況下會產(chǎn)生通訊錯誤:
1) 在定義的超時時間內(nèi)沒有收到從站的應(yīng)答,則會產(chǎn)生一個通訊超時錯誤;
2)主站收到了從站錯誤的應(yīng)答,則會重新嘗試通訊,最多重新發(fā)送“重試”次命令。
若最后一次仍沒有收到從站正確的應(yīng)答,則主站繼續(xù)等待超時時間后產(chǎn)生一個通訊超時錯誤。
XMT(發(fā)送數(shù)據(jù))、RCV(接收數(shù)據(jù))

XMT指令用于發(fā)送存放在數(shù)據(jù)緩沖區(qū)中的數(shù)據(jù)。參數(shù)PORT定義了所用通訊口。參數(shù)TBL定義了數(shù)據(jù)緩沖區(qū)的起始地址,緩沖區(qū)的第一個字節(jié)中定義了本次將要發(fā)送的字節(jié)數(shù)(1--255),后邊依次存放著待發(fā)送的數(shù)據(jù)字節(jié)。若發(fā)送字節(jié)數(shù)被設(shè)置為0,則XMT指令不執(zhí)行任何操作。

RCV指令用于接收數(shù)據(jù)并將接收到的數(shù)據(jù)存放在數(shù)據(jù)緩沖區(qū)中。參數(shù)PORT定義了所用通訊口。參數(shù)TBL定義了數(shù)據(jù)緩沖區(qū)的起始地址,緩沖區(qū)的第一個字節(jié)中存放著本次接收到的字節(jié)數(shù),后邊依次存放著接收到的有效數(shù)據(jù)字節(jié)。

注意, TBL參數(shù)為一個可變長度的塊內(nèi)存參數(shù), 整個塊內(nèi)存都不可以落在非法內(nèi)存區(qū)域, 否則結(jié)果不可預(yù)期。

注意, 調(diào)用RCV指令后,如果串口上沒有收到任何字節(jié), 只會產(chǎn)生60秒的系統(tǒng)超時并結(jié)束一次RCV接收。用戶設(shè)置的超時結(jié)束, 只有在收到至少一個字節(jié)的情況下才會觸發(fā)。

Kinco-K2/K5在SM區(qū)中為自由通訊提供了多個狀態(tài)寄存器和控制寄存器。在編寫通訊程序時,用戶必須對這些控制寄存器進行設(shè)置。另外,在通訊過程中CPU會自動對通訊狀態(tài)進行檢測,并將檢測結(jié)果寫入相關(guān)的狀態(tài)寄存器,用戶可以讀取這些狀態(tài)信息并在程序中進行相應(yīng)的處理。

在自由通訊中,另外還有一個默認(rèn)的系統(tǒng)接收超時,時間為60秒,此超時值的作用如下:在執(zhí)行RCV指令后,若在此超時時間內(nèi)串口上沒有收到任何數(shù)據(jù),則CPU將立刻終止接收并退出RCV指令;另外,CPU在進入有效接收狀態(tài)后(即接收到SMB88中定義的起始字符或者經(jīng)過了SMW90中定義的接收準(zhǔn)備時間后),將優(yōu)先使用用戶在SMW92中定義的接收字符超時值,若用戶沒有定義,則用該系統(tǒng)接收超時值來決定是否終止接收。

關(guān)于通訊中斷

Kinco-K2/K5提供了多種中斷用于自由通訊,通訊中斷具有最高的中斷優(yōu)先級。用戶可以使用控制位SM87.1來禁止或允許CPU產(chǎn)生通訊中斷。若將SM87.1設(shè)置為1,則允許生成通訊中斷:CPU在發(fā)送完緩沖區(qū)中的最后一個字符時就會自動產(chǎn)生一個發(fā)送完成中斷(對于PORT 0中斷事件號為30,對于PORT 1中斷事件號為32);CPU在退出接收后(無論是正常還是異常退出)就會自動產(chǎn)生一個接收完成中斷(對于PORT 0中斷事件號為29,對于PORT 1中斷事件號為31)。

下面將舉例說明自由通訊的使用。

在示例中,CPU將接收一串?dāng)?shù)據(jù),以回車符作為接收結(jié)束字符。若接收正常完成,則把接收到的數(shù)據(jù)又發(fā)送回去并再次啟動接收,若是異常退出接收狀態(tài)(比如通訊錯誤、接收超時等),則忽略接收到的數(shù)據(jù)并再次啟動接收。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
【玩轉(zhuǎn)485】2.數(shù)據(jù)的發(fā)送
工業(yè)串口通信之如何使用S7-1200的CM1241模塊
自由口編程處理
PLC與PC通訊應(yīng)用實例
自由口通信
西門子PLC自由口通訊 中斷,這么用很方便!
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服