由於 S7-1200 是較新的PLC,所以目前市場上的他牌 HMI 還沒有開發 S7-1200 Ethernet 的驅動程式,因此特別介紹利用 Modbus 的通訊協定,來連結 HMI 及 S7-1200。
S7-1200 有內建 Modbus Master 及 Slave 的軟體指令,因此將 S7-1200 擴充的 RS-485 port 設為 Modbus Slave 後,它牌HMI選擇 Modbus 的通訊方式即可連到 S7-1200。
------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------
Siemens SIMATIC PLC S7-400 S7-300 S7-1200 S7-200 LOGO HMI 西門子 自動化
相關文章
S7-1200的Modbus Master應用
文章標籤
全站熱搜

您好,公司最近買了一台S7-1200,因為我之前沒有碰過西門子PLC的經驗,所以有些問題想請教一下, 請問S7-1200當成Modbus Slave的時候可以去指定各Tag的Modbus 位址嗎??另外,我如何將實體點(DI/O,AI/O) 與Modbus位址連結起來呢?? 謝謝。
Dear 小巴
Modbus Protocol 主要可以交換四種資料。1. DI數位輸入 2. DO數位輸出 3.AI類比輸入 4.DB內部資料
當PLC設定成Modbus Slave後,上述的四種資料都已經固定好了。必須由Modbus Master下達指令對Slave做資料存取的動作。
Modbus Master 模擬程式謝謝你的回覆,所以實體IO的位址都已經是固定的了,因為之前使用過別家的是可以自己去指定對應的Modbus位址讓人來抓,所以才會讓我產生這樣的問題,Modscan我之前也有用過,接下來我會連接485來看各實體點對應的位址是多少,再一次謝謝你熱心的回覆~
Dear 小巴
請注意IO address與位址的關係,請仔細參閱第十頁。
Modbus Master 模擬程式
參考完Modbus Master 模擬程式那篇文章後,是否說實體的DO就是00開頭,DI是01開頭的,AI是30開頭的而內部資料庫是使用40開頭的呢?因為今天我試的時候不知道是否接線有錯誤還是設定的問題,都持續顯示Time out連接不上,所以無法測試實際讀取的位址,另外,請問如果我使用虛擬的IO點,DI/O的部分是跟實體DI/O的分類一致嗎?虛擬類比點是40開頭?不好意思問了一堆很淺的問題,真是麻煩你了,謝謝。
Dear 小巴
沒錯!
00001-->Q0.0
10001-->I0.0
30033-->IW64
40001-->DBW0
請確定RS-485的腳位沒有接錯
3 -->signal B
8 -->signal A
請參閱下列文章
PLC S7-200 是否有支援 Modbus 的通訊功能
不好意思,再請教一下,因為1200似乎只支援0~20mA的類比輸入,所以若要模擬成4~20mA的話,是否一定要在人機或DCS那端改變設定對應的Range,如原本為0~4095改為819~4095??還是在PLC這邊有甚麼設定或小技巧可以讓Modbus的值4~20mA保持對應Range為0~4095??謝謝。
接上則
Dear 小巴
STEP7 V10.5 Basic這套軟體有提供Global Library的功能,因此你可以加入原廠所寫好的應用指令。
如果沒有加入Library的話,就必須像你所說的要改變設定對應的Range,如果加入Library後,就可以使用一個指令就完成了。
請先參考 S7-200的作法:
類比訊號 (AD/DA) 的比例轉換另外你可以在下面網站找到S7-1200的作法
on.siemens.com">https://support.automation.siemens.com
Entry ID:42087579
如何使用模拟量 0-20 mA 信号模块和信号板测量 4-20mA 信号?
我剛試了一下,好像沒辦法直接在實體點上直接將0-20mA轉換成我們接收的4-20mA?要透過計算後丟到另外一個位址去讓別人來抓?是這樣的意思嗎?例如我的實體AI點位址是%IW114, modbus位址是30058, 接4~20mA的訊號,有辦法直接在30058這位址上顯示0~27648而不是5529.6~27648嗎??謝謝
Dear 小巴
方便寄你的程式過來嗎?
我請我的工程師直接幫你寫一個範例比較快。
bob.chen@siemens.com
bobchen0526@gmail.com
Bob
2010.05.28