當前位置:機電之家首頁 >> PLC技術>> PLC基礎 >> PLC通信 >> pc與西門子s7-200系列plc通信的實現
pc與西門子s7-200系列plc通信的實現

西門子s7-200系列有通信方式有三種:一種是點對點(ppi)方式,用于與該公司plc編程器或其它人機接口產品的通信,其通信協(xié)議是不公開的。另一種為dp方式,這種方式使得plc可以通過profibus-dp通信接口接入profibus網絡,從而擴大plc的使用范圍。最后一種方式是自由口通信(freeport)方式,由用戶定義通信協(xié)議,實現plc與外設的通信。以下采用自由口通信方式,實現pc與s7-200系列plc通信。

1. pc與西門子s7-200系列plc通信連接

pc為rs232c接口,s7-200系列自由口為rs485。因此pc的rs232接口必須先通過rs232/rs485轉換器,再與plc通信端口相連接,連接媒質可以是雙絞線或電纜線。西門子公司提供的pc/ppi電纜帶有rs232/rs485轉換器,可直接采用pc/ppi電纜,因此在不增加任何硬件的情況下,可以很方便地將plc和pc的連接,如圖1所示。也可實現多點連接。

圖1 pc與s7-200系列plc的連接

2. 西門子s7-200系列plc自由通信口初始化及通信指令

在該通信方式下,通信端口完全由用戶程序所控制,通信協(xié)議也由用戶設定。pc機與plc之間是主從關系,pc機始終處于主導地位。plc的通信編程首先是對串口初始化,對s7-200plc的初始化是通過對特殊標志位smb30(端口0)、smb130(端口1)寫入通信控制字,設置通信的波特率,奇偶校驗位、停止位和字符長度。顯然,這些設定必須與pc的設定相一致。smb30和smb130的各位及含義如下:

其中,校驗方式:00和11均為無校驗、01為偶校驗、10為奇校驗;字符長度:0為傳送字符有效數據是8位、1為有效數據是7位;波特率:000為38400baud、001為19200baud、010為9600baud、011為4800baud、100為2400baud、101為1200baud、110為600baud、111為300baud;通信協(xié)議:00為ppi協(xié)議從站模式、01為自由口協(xié)議、10為ppi協(xié)議主站模式、11為保留,缺省設置為ppi協(xié)議從站模式。

xmt及rcv命令分別用于plc向外界發(fā)送與接收數據。當plc處于run狀態(tài)下時,通信命令有效,當plc處于stop狀態(tài)時通信命令無效。

xmt命令將指定存儲區(qū)內的數據通過指定端口傳送出去,當存儲區(qū)內最后一個字節(jié)傳送完畢,plc將產生一個中斷,命令格式為xmt table,port,其中port指定plc用于發(fā)送的通信端口,table為是數據存儲區(qū)地址,其第一個字節(jié)存放要傳送的字節(jié)數,即數據長度,最大為255。

rcv命令從指定的端口讀入數據存放在指定的數據存儲區(qū)內,當最后一個字節(jié)接收完畢,plc也將產生一個中斷,命令格式為rcv table,po rt,plc通過port端口接收數據,并將數據存放在tbl數據存儲區(qū)內,table的第一個字節(jié)為接收的字節(jié)數。

在自由口通信方式下,還可以通過字符中斷控制來接收數據,即plc每接收一個字節(jié)的數據都將產生一個中斷。因而,plc每接收一個字節(jié)的數據都可以在相應的中斷程序中對接收的數據進行處理。

3.通信程序流程圖及工作過程

在上述通信方式下,由于只用兩根線進行數據傳送,所以不能夠利用硬件握手信號作為檢測手段。因而在pc機與plc通信中發(fā)生誤碼時,將不能通過硬件判斷是否發(fā)生誤碼,或者當pc與plc工作速率不一樣時,就會發(fā)生沖突。這些通信錯誤將導致plc控制程序不能正常工作,所以必須使用軟件進行握手,以保證通信的可靠性。

由于通信是在pc機以及plc之間協(xié)調進行的,所以pc機以及plc中的通信程序也必須相互協(xié)調,即當一方發(fā)送數據時另一方必須處于接收數據的狀態(tài)。如圖2、圖3所示分別是pc、plc的通信程序流程。

圖2 pc機通信程序流程圖

圖3 s7-plc通信程序流程圖

通信程序的工作過程:pc每發(fā)送一個字節(jié)前首先發(fā)送握手信號,plc收到握手信號后將其傳送回pc,pc只有收到plc傳送回來的握手信號后才開始發(fā)送一個字節(jié)數據。plc收到這個字節(jié)數據以后也將其回傳給pc,pc將原數據與plc傳送回來的數據進行比較,若兩者不同,則說明通信中發(fā)生了誤碼,pc機重新發(fā)送該字節(jié)數據;若兩者相同,則說明plc收到的數據是正確的,pc機發(fā)送下一個握手信號,plc收到這個握手信號后將前一次收到的數據存入指定的存儲區(qū)。這個工作過程重復一直持續(xù)到所有的數據傳送完成。

采用軟件握手以后,不管pc與plc的速度相差多遠,發(fā)送方永遠也不會超前于接收方。軟件握手的缺點是大大降低了通信速度,因為傳送每一個字節(jié),在傳送線上都要來回傳送兩次,并且還要傳送握手信號。但是考慮到控制的可靠性以及控制的時間要求,犧牲一點速度是值得的,也是可行的。

plc方的通信程序只是plc整個控制程序中的一小部分,可將通信程序編制成plc的中斷程序,當plc接收到pc發(fā)送的數據以后,在中斷程序中對接收的數據進行處理。pc方的通信程序可以采用vb、vc等語言,也可直接采用西門子專用組態(tài)軟件,如step7、wincc。

作者:未知 點擊:633次 [打印] [關閉] [返回頂部]
本文標簽:pc與西門子s7-200系列plc通信的實現
* 由于無法獲得聯系方式等原因,本網使用的文字及圖片的作品報酬未能及時支付,在此深表歉意,請《pc與西門子s7-200系列plc通信的實現》相關權利人與機電之家網取得聯系。
電子樣本

SN系列樣冊
:鞏經理
:13915946763
:南京塞姆泵業(yè)有限公司
個人求購

孫晉文 【求購】  排氣閥  2025-12-30
馬經理 【求購】  信號集成端...  2025-12-30
李總 【求購】  電動升降車  2025-12-30
于蓬 【求購】  HPV-S...  2025-12-29
張俊杰 【求購】  縫紉線自動...  2025-12-25
易賽群 【求購】  NANOC...  2025-12-25
張經理 【求購】  浪涌保護器  2025-12-25
陳蓮 【求購】  日本住友閥  2025-12-24
VIP公司推薦