gongyekongzh
級(jí)別: *
精華主題: * 篇
發(fā)帖數(shù)量: * 個(gè)
工控威望: * 點(diǎn)
下載積分: * 分
在線時(shí)間: (小時(shí))
注冊(cè)時(shí)間: *
最后登錄: *
查看gongyekongzh的 主題 / 回貼
樓主  發(fā)表于: 2012-03-04 09:58
RS-232串口通信方式

硬件構(gòu)成

西門子CPU224XP支持無(wú)協(xié)議通信,即用戶僅需要對(duì)數(shù)據(jù)格式、傳輸速率、起始/停止碼等進(jìn)行簡(jiǎn)單設(shè)定,PLC與外部設(shè)備間就可進(jìn)行直接數(shù)據(jù)發(fā)送與接收的一種通信方式。伺服系統(tǒng)和PLC分別作為系統(tǒng)的主從站。PLC控制器通過(guò)該通信功能可實(shí)現(xiàn)對(duì)伺服驅(qū)動(dòng)器進(jìn)行運(yùn)行控制、參數(shù)讀取、伺服驅(qū)動(dòng)器當(dāng)前運(yùn)動(dòng)狀態(tài)的讀取等操作。

當(dāng)S7-200系列PLC工作在自由口通信模式下時(shí),一般通過(guò)CPU模塊的集成接口進(jìn)行通信。CPU集成接口采用了PPI硬件規(guī)范,其接口為RS-485串口,因此,當(dāng)S7-200系列PLC的CPU與帶有RS-232標(biāo)準(zhǔn)接口的計(jì)算機(jī)或伺服驅(qū)動(dòng)器連接時(shí),需要配套選用S7-200 PLC的PC/PPI轉(zhuǎn)換電纜或一個(gè)RS-232/RS-485轉(zhuǎn)換器。

4.2  PLC與伺服系統(tǒng)通信

4.2.1 報(bào)文構(gòu)成

S-200 PLC在無(wú)協(xié)議通信方式工作時(shí),不需要任何通信協(xié)議,通信參數(shù)需要根據(jù)與其進(jìn)行通信的伺服驅(qū)動(dòng)器的通信格式進(jìn)行設(shè)定。本伺服系統(tǒng)選用的Xe-nus伺服驅(qū)動(dòng)器可通過(guò)RS-232與PLC利用ASCII碼進(jìn)行通信,其ASCII碼消息命令格式如下:

<命令代碼><命令具體參數(shù)><CR>

其中:<命令代碼>為一個(gè)單字母代碼;<命令具體參數(shù)>表示電機(jī)所要執(zhí)行的任務(wù);<CR>為一個(gè)回車返回字符,表示命令結(jié)束。如:s r0x2A 21<CR>表示設(shè)置伺服控制器工作在可編程控制模式。

4.2.2 程序設(shè)計(jì)

程序設(shè)計(jì)時(shí),將伺服驅(qū)動(dòng)器工作定義在可編程位置模式。該模式支持實(shí)時(shí)更改伺服電機(jī)的運(yùn)動(dòng)速度、位置,通過(guò)RS-232接收來(lái)自PLC的ASCII碼命令,執(zhí)行運(yùn)動(dòng)。部分程序如下:

①初始化程序
LD      SMO. 1                  //首次掃描
MOVB    9, SMB30
                                                           //設(shè)置自由端口0
            通信方式SMB30=9、8位數(shù)據(jù)位、9600、PPI
MOVB    188, SMB87
      //設(shè)置自由端口。接收信息控制5MB87 =188
MOVB    13,SMB89                       //設(shè)置自由端口0
              結(jié)束字符SMB89=13,即結(jié)束字符=<CR>
MOVW  0, SMW90                          //設(shè)置自由端口0
             空閑超時(shí)SMB90=0,信息接收始終處于有效
MOVW200, SMW92
             //設(shè)置自由端口0信息超時(shí)SMB92 =200 ms
MOVB   255, SMB94
            //設(shè)置自由端口0接收字符最大數(shù)SMB94=255
ATCH    INT_0,9            //發(fā)送完成觸發(fā)中斷事件0
ENI                                              //允許中斷
②發(fā)送信息程序
LDN     VD3501.1
                                      // V D3501.1為接收延遲,
                           自由端口0沒有處于接收延遲時(shí)
A                  SM4. 5
                                   //自由端口0處于空閑狀態(tài),SM4.5 =1
AB=        VB18, 7
                                //命令字節(jié)VB18 =7,即要求設(shè)置運(yùn)動(dòng)目標(biāo)位置
SCPY       "s  r0xca',VB3100
                                           //"s  r0xca',復(fù)制到VB3100,
                                 "s  r0xca'為設(shè)置運(yùn)動(dòng)目標(biāo)位置命令
SCAT    VB3600, VB3100
// VB360()內(nèi)的目標(biāo)位置值連接到設(shè)置目標(biāo)位置命令后
SCAT    VB3190, VB3100
                  //VB3190內(nèi)的結(jié)束字節(jié)連接到VB3100后;
XMT     VB3100, 0
                  //通過(guò)自由端口0發(fā)送命令至伺服驅(qū)動(dòng)器
③發(fā)送完成中斷程序(接收信息)
LD      SM0.0               //SM0.0總是為1
S       SM87.7, 1
        //置SM87. 7=1,SM87.7為允許接收信息位
RCV     VB3200, 0
              //通過(guò)自由端口0接收信息至VB3200




發(fā)送信息程序其中
LDN     VD3501.1 是什么意思啊? 怎么轉(zhuǎn)換不了梯形圖?這句總是報(bào)錯(cuò),求指教,謝謝!
mkmk30
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 295 個(gè)
工控威望: 411 點(diǎn)
下載積分: 35963 分
在線時(shí)間: 165(小時(shí))
注冊(cè)時(shí)間: 2010-08-04
最后登錄: 2024-12-14
查看mkmk30的 主題 / 回貼
1樓  發(fā)表于: 2012-03-05 11:54
我頂!謝謝