雨天神
級別: 探索解密
|
大家好,小弟最近在做一工程,客戶那邊要求485方式通信,所以我選用了QJ71C24N 這個模塊。第一次用這個模塊,不會用,所以在此向大家請教一下如何做通信程序? 1.我這邊是從機(jī),客戶那邊發(fā)命令到我的PLC中,比如客戶那邊發(fā)開機(jī)的命令,如果我這邊的機(jī)器沒有問題,就返回一個數(shù)據(jù),如果我的設(shè)備上有故障,就返回故障信息。 2.因為我這邊是從機(jī),是不是只能是客戶那邊有發(fā)數(shù)據(jù),我這邊才能返回數(shù)據(jù)? 我說一下 我的思路: 1.下行通信幀:幀頭 站號 命令 數(shù)據(jù) 校驗 幀尾 2.上行通信幀:幀頭 站號 命令 數(shù)據(jù) 校驗 幀尾 當(dāng)我用INPUT 指令接數(shù)到下行的數(shù)據(jù)時,是不是先判斷站號,然后再把接收到的數(shù)據(jù)求出校驗,如果校驗碼與發(fā)下來的一樣,那么我就把相應(yīng)的數(shù)據(jù)返回給上位機(jī),不 知我的思路對嗎? 因為我這邊是從機(jī),所以我要寫一份通信協(xié)議,讓客戶的上位機(jī)根據(jù)他的需求來寫/讀操作,如寫開機(jī)、關(guān)機(jī) 信號,讀報警信息。 有哪位大哥大姐做過相應(yīng)的程序呀,能幫幫忙嗎,謝謝了!! |
---|---|
|
wangk0
人都有點過去~
級別: 工控俠客
|
雖然沒搞過,但我覺得用中斷寫會方便很多。接收到信息后中斷,把接收到的信息存到D里,通過比較D來判斷執(zhí)行哪一路程序。 |
---|---|
|
雨天神
級別: 探索解密
|
我也想用中斷,但是QJ71C24N 這個模塊,有接收讀取請求的信號,當(dāng)這個信號為ON時,就可以接收上位機(jī)發(fā)來的數(shù)據(jù),轉(zhuǎn)移動D區(qū)里,然后就先判斷站號,如果是對的,再判斷命 令,如果是對的,然后再算校驗碼,校驗碼相等時,就從D里提取數(shù)據(jù),同時返回相應(yīng)的數(shù)據(jù)給上位機(jī)。 不知我的想法可行嗎,因為以前我看到過有些單片機(jī)通信程序是這樣做的,而在PLC里,寫從站的協(xié)議是否也可以這樣做,或者有更好的方法? |
---|---|
|