詳細介紹
西門子SM336數字量DI DO模塊以方便地實現s7-200系列plc與pc之間的硬件連接。
s7-200的編程軟件為step7-micro/win32,該軟件有stl、fbd和ladder三種編程模式,有simatic指令和iec131-3指令兩種指令。本文所給出的范例是使用simatic指令的stl編程。
s7-200 plc端的通訊程序實現
plc程序分為主程序和中西門子SM336數字量DI DO模塊斷程序。主程序完成初始化通信口、開中斷、判斷、發送數據等功能,中斷程序完成接收和發送數據的功能。接收指令(rcv)啟動或終止接收信息功能,必須為接收操作開始和結束條件。發送指令(xmt)在自由口模式下依靠通訊口發送數據。
控制字的選取
反映cpu工作方式的模式開關當前位置的特殊存儲器位為sm0.7,它控制自由端口模式的進入。當sm0.7為0時,模式開關處于trem位置;當sm0.7為1時模西門子SM336數字量DI DO模塊式開關處于run位置。而只有當模式開關位于run位置時,才允許進行自由口通訊。smb30是自由口模式控制字節,用來設定校驗方式、通訊協議、波特率等通訊參數(其它控制字的設定參閱有關書西門子SM336數字量DI DO模塊籍)。
程序的一些簡單介紹
network1
ld sm0.1 // *次掃描
movb 16#09,smb30
//自由口通訊模式:9600波特率,無奇偶校驗,8個數據位
movb 16#7c,smb87 //接收信息狀態字節
movb 16#53,smb88
//設置信息的開始字符“s”
movb 16#45,smb89
//設置信息的結束字符“e”
movw +5,smw90
//設定空閑行的時間間隔(ms)
movw +179,smw92
//字符間/信息間定時器超時值(ms)
movb 60,smb94 //接收字符的個數
network2
ld sm0.1 movb 16#53,vb2499
//設置接收和發送緩沖區的首地址
atch 發送完中斷,9
//把發送完成中斷和發送完成中斷子程序連接起來
atch 接收完中斷,23
//把接收完成中斷和接收完成中斷子程