成長(zhǎng)學(xué)習(xí)
級(jí)別: *
精華主題: * 篇
發(fā)帖數(shù)量: * 個(gè)
工控威望: * 點(diǎn)
下載積分: * 分
在線時(shí)間: (小時(shí))
注冊(cè)時(shí)間: *
最后登錄: *
查看成長(zhǎng)學(xué)習(xí)的 主題 / 回貼
樓主  發(fā)表于: 2009-10-26 13:56
plc通訊原理和程序設(shè)計(jì) 通訊程序設(shè)計(jì)在自動(dòng)化系統(tǒng)的應(yīng)用越來(lái)越廣泛,例如plc與操作界面的數(shù)據(jù)交換,通過(guò)通訊對(duì)變頻器的控制,plc的連網(wǎng)等等。 要想實(shí)現(xiàn)plc的通訊編程,首先所選的plc必須有強(qiáng)大的通訊能力,就是說(shuō)plc的操作系統(tǒng)能夠支持多種通訊格式,通常一種品牌的plc如果能夠提供給用戶(hù)更多的編程自由度,那么這種品牌的技術(shù)開(kāi)發(fā)能力就越強(qiáng)大,大多數(shù)品牌只能提供固定格式的通訊格式或協(xié)議,這就大大局限了plc與其他智能設(shè)備的數(shù)據(jù)交換。 我們的plc產(chǎn)品具有RS232和光電隔離的RS485兩個(gè)自由通訊口,兩個(gè)通訊口可以同時(shí)收發(fā)數(shù)據(jù),幾乎可以適應(yīng)所有通訊格式,可以提供CRC和BCC等多種校驗(yàn)方式。 以一臺(tái)PLC通過(guò)485通訊控制多個(gè)某品牌的變頻器為例: 如果該變頻器的波特率是9600b/s,8個(gè)數(shù)據(jù)位,奇校驗(yàn),1個(gè)停止位。那么首先必須在plc的嵌入C窗口的初始化代碼區(qū)編程一個(gè)通訊口設(shè)置語(yǔ)句:Set485Port(9600,o,8,1);僅僅一個(gè)語(yǔ)句就完成了對(duì)485通訊口的編程。 由于485通訊必須設(shè)定主從關(guān)系,這里是plc控制多臺(tái)變頻器,所以plc必須設(shè)置為主,因此還需在初始化代碼區(qū)增加一個(gè)地址和主從設(shè)定語(yǔ)句:SetAddress(1,MASTER);事實(shí)上,對(duì)于主控制器來(lái)說(shuō),地址已經(jīng)失去意義。 通訊口已經(jīng)設(shè)置完畢,下面就是如何根據(jù)要求將數(shù)據(jù)發(fā)送給變頻器。例如一組8字節(jié)控制數(shù)據(jù)如下所示: 01h ---->變頻器編號(hào) 03h ---->命令 21h ---->兩字節(jié)參數(shù)地址 02h 00h ---->兩字節(jié)參數(shù) 02h CRC --->兩字節(jié)CRC校驗(yàn)馬 CRC PLC程序: Set485TBAddPointer(0); AddNumberTo485TB(0x1); AddNumberTo485TB(0x3); AddNumberTo485TB(0x21); AddNumberTo485TB(0x2); AddNumberTo485TB(0x0); AddNumberTo485TB(0x2); AddCRCTo485TB(); Start485Transmit(); 另外公司的《通訊編程》資料pdf電子文當(dāng)以通俗易懂的生活事例對(duì)plc的通訊原理進(jìn)行了講解,如果有需要的朋友可以回復(fù)索取。大家沒(méi)事的時(shí)候可以去中國(guó)工控168網(wǎng)看看工控助手,作為學(xué)習(xí)資料相當(dāng)不錯(cuò)的。 中國(guó)工控168祝您一路發(fā)。
maxzp813
級(jí)別: *
精華主題: * 篇
發(fā)帖數(shù)量: * 個(gè)
工控威望: * 點(diǎn)
下載積分: * 分
在線時(shí)間: (小時(shí))
注冊(cè)時(shí)間: *
最后登錄: *
查看maxzp813的 主題 / 回貼
1樓  發(fā)表于: 2010-03-03 10:12
謝謝了~     ijiaer1024@126.com