實(shí)驗(yàn)設(shè)備:電腦一臺(tái)WindowXP系統(tǒng),CX-Programmer Ver9.4,USB電纜,CP1H-XA40DR-A一臺(tái),CP1E-N30SDR-D一臺(tái),XW2Z-200S-V,CP1W-CIF01一個(gè)。COMMIX軟件。 實(shí)驗(yàn)?zāi)康模河脽o協(xié)議通訊,交換電腦和PLC之間的數(shù)據(jù)。 ①用USB電纜將電腦與PLC相連。
②用三芯線將PLC和電腦相連。 圖1-2 ①設(shè)置COMMIX軟件:
圖1-3 ②打開CX-Programmer軟件,點(diǎn)擊新建,彈出以下窗口,設(shè)備類型選擇CP1E。
圖1-4 選擇N30型。
圖1-5 ③雙擊設(shè)置,按如下設(shè)置:
①TXD指令:
圖1-7
無協(xié)議的時(shí)候,4~7位設(shè)置為0。 ②程序如下:
其中A392.05是內(nèi)置232口發(fā)送準(zhǔn)備標(biāo)志位,A392.05為ON則可以發(fā)送無協(xié)議命令。 當(dāng)CPU型號(hào)不是帶S的,而是可以擴(kuò)展通訊口的型號(hào)是,此時(shí)可以將A392.13作為擴(kuò)展口的發(fā)送準(zhǔn)備標(biāo)志位。 ①當(dāng)觸發(fā)W0.00時(shí),可以看到Commix軟件中填入相應(yīng)數(shù)值:
圖1-11 ①RXD指令: 圖1-12 圖1-13 ②程序如下:
A393作為緩存區(qū),A392.06是接收完成標(biāo)志位。 當(dāng)Commix軟件向電腦發(fā)送數(shù)據(jù),可以看到緩存區(qū)的數(shù)值是接收數(shù)據(jù)個(gè)數(shù),A392.06是1。
觸發(fā)W0.01,可以看到接收地址中得到相應(yīng)的接收數(shù)值:
當(dāng)將PLC換成CP1H時(shí),設(shè)置如下:
可以看到Commix軟件發(fā)送的字節(jié)數(shù)是6個(gè)字節(jié),大于設(shè)置中的接收字節(jié),當(dāng)緩存區(qū)數(shù)據(jù)A393個(gè)數(shù)等于設(shè)置中的接收字節(jié)數(shù)時(shí),A392.06置1。表示接收完成。
程序中將接收字節(jié)設(shè)為4個(gè),觸發(fā)W0.01,接收數(shù)據(jù),可以看到程序先接受了4個(gè)字節(jié)。程序用的是CP1H的串口1,緩存區(qū)A394變?yōu)?. 圖1-21 觸發(fā)一次W0.00,可以看到剩下的兩個(gè)字節(jié)被接收了,此時(shí)緩存區(qū)變?yōu)?。
實(shí)驗(yàn)總結(jié): 1. CP1H和CP1E做無協(xié)議,當(dāng)發(fā)送字節(jié)數(shù)大于RXD接收字節(jié)數(shù)時(shí),執(zhí)行程序的結(jié)果是不一樣的。CP1H會(huì)將數(shù)據(jù)存在緩存區(qū),比如發(fā)送6個(gè)數(shù)據(jù),RXD接收數(shù)據(jù)是4個(gè),那么先接收4個(gè),再觸發(fā)RXD指令會(huì)再接收2個(gè)字節(jié)。而CP1E在接收的時(shí)候就將緩存區(qū)清零了。 2. 錯(cuò)誤代碼在A528里面查看。 3. A526是重啟端口。 4. 當(dāng)緩存區(qū)數(shù)據(jù)A393個(gè)數(shù)等于設(shè)置中的接收字節(jié)數(shù)時(shí),A392.06置1。 來源:技成——楊存世 |
|