音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費(fèi)注冊(cè) 首頁(yè) | 行業(yè)黑名單 | 幫助
維庫(kù)電子市場(chǎng)網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

那位好心人能幫我一下,用PLC改一下CDT通訊程序

作者:gygabc 欄目:通信技術(shù)
那位好心人能幫我一下,用PLC改一下CDT通訊程序
這是原來(lái)的MODBUS通訊程序

LD     SM0.0
WDR
LD     SM0.0                       //(SMB2自由端口接受字符緩沖區(qū))GYG
MOVB   SMB2, *RA_POINT             //將接受的數(shù)據(jù)先存入接受緩沖區(qū)
INCD   RA_POINT                    //地址指針加一,指向下一個(gè)接受緩沖INCW   RA_COUNT                    //接受數(shù)據(jù)計(jì)數(shù)器加一    

LDB=   VB315, VB2600               //地址相同
NOT                                //否則
MOVW   +0, RA_COUNT                //接受數(shù)據(jù)計(jì)數(shù)器清零
MOVD   &VB2600, RA_POINT           //地址指針指向第一個(gè)接受數(shù)據(jù)緩沖區(qū)
CRETI                              //中斷結(jié)束  (從中斷程序有條件返回)
LDW>=  RA_COUNT, 16#08             //已經(jīng)接收到了8個(gè)字節(jié)   //地址相同
S      M21.0, 1
MOVW   +0, RA_COUNT                //接受數(shù)據(jù)計(jì)數(shù)器清零
MOVD   &VB2600, RA_POINT           //地址指針指向第一個(gè)接受數(shù)據(jù)緩沖區(qū)
R      M21.1, 2
NOT
CRETI

LD     M21.0
AB=    VB315, VB2600               //YAO CE
AB=    16#03, VB2601
AB=    16#0, VB2602
AB=    16#0, VB2603
AB=    16#0, VB2604
AB=    16#48, VB2605
S      M21.1, 1
R      M21.0, 1

LD     M21.0
AB=    VB315, VB2600               //YAO XIN
AB=    16#1, VB2601
AB=    16#0, VB2602
AB=    16#0, VB2603
AB=    16#0, VB2604
AB=    16#70, VB2605
S      M21.2, 1
R      M21.0, 1
NOT
R      M21.0, 1
LD     M21.1                       //有遙測(cè)命令產(chǎn)生
O      M21.2
MOVB   VB2606, VB2608              //高字節(jié)CRC,保存
MOVB   VB2607, VB2609              //低字節(jié)CRC,保存
MOVB   16#0, VB2606                //準(zhǔn)備存儲(chǔ)結(jié)算后地結(jié)果
MOVB   16#0, VB2607
MOVD   &VB2600, RA_POINT2
MOVW   16#06, VW1990               //計(jì)算數(shù)據(jù)的個(gè)數(shù)6個(gè)
CALL   SBR_17                      //計(jì)算CRC校驗(yàn)碼
LD     M21.1
AB=    VB2606, VB2608              //計(jì)算的CRC校驗(yàn)碼高字節(jié)與接收到的高字節(jié)相同
AB=    VB2607, VB2609              //計(jì)算的CRC校驗(yàn)碼低字節(jié)與接收到的低字節(jié)相同
MOVB   VB315, VB2000               //傳送系統(tǒng)地址給模擬量發(fā)送緩沖區(qū)
MOVD   16#0, VD2600                //清接收緩沖區(qū)
MOVD   16#0, VD2604
LD     M21.2
AB=    VB2606, VB2608              //計(jì)算的CRC校驗(yàn)碼高字節(jié)與接收到的高字節(jié)相同
AB=    VB2607, VB2609              //計(jì)算的CRC校驗(yàn)碼低字節(jié)與接收到的低字節(jié)相同
MOVB   VB315, VB2000               //傳送系統(tǒng)地址給模擬量發(fā)送緩沖區(qū)
MOVD   16#0, VD2600                //清接收緩沖區(qū)
MOVD   16#0, VD2604
LD     M21.1
O      M21.2
NOT                                //沒有命令產(chǎn)生
MOVW   +0, RA_COUNT                //接受數(shù)據(jù)計(jì)數(shù)器清零
MOVD   &VB2600, RA_POINT           //地址指針指向第一個(gè)接受數(shù)據(jù)緩沖區(qū)
R      M21.0, 3
LD     M21.1                       //有遙測(cè)命令   則給出計(jì)算遙測(cè)量的地址指針,計(jì)算數(shù)據(jù)個(gè)數(shù)
MOVD   &VB2000, RA_POINT2
MOVW   16#4C, VW1990               //計(jì)算數(shù)據(jù)的個(gè)數(shù)76
MOVB   16#4E, VB1999               //發(fā)送數(shù)據(jù)的個(gè)數(shù)78
CALL   SBR_17
XMT    VB1999, 1                   //自由端口發(fā)送GYG
R      M21.1, 1
CRETI
LD     M21.2                       //有遙信命令   則給出計(jì)算遙信量的地址指針,計(jì)算數(shù)據(jù)個(gè)數(shù)
MOVD   &VB2500, RA_POINT2
MOVW   16#12, VW1990               //計(jì)算數(shù)據(jù)的個(gè)數(shù)18
MOVB   16#14, VB2499            
參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
NRF905通信控制原程
請(qǐng)問信道間隔怎么理解?
請(qǐng)幫忙分析,nRF401接收0x41到0x5B,得到有規(guī)律的錯(cuò)誤字符
請(qǐng)教使用PTR2000模塊的問題
請(qǐng)問老大,MT8880的譯碼中斷
免費(fèi)注冊(cè)為維庫(kù)電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào)