2012-02-25 149 views
3

考慮以下梯形圖程序檢查連接是否啓用(A202.00),然後從PLC向PC發送消息。使用梯形圖從PLC向PC發送TCP/IP消息程序

ladder program

文檔(歐姆龍CX-Programmer的)具有嚴重缺乏的程序慣例的解釋。我不明白的是:

  1. 要發送消息從節點到節點。我應該需要指定接收者ID。看來功能塊沒有選項,我可以插入IP地址。我應該MOV一個IP地址到一個DM地址(D300),然後使用它?如果情況如何(IP地址在4個字節之間有點)?

  2. 有人能請解釋一下什麼是S第一源字),D第一個目的地字)和C第一控制字)。他們不只是內存地址?例如。將內存地址的內容發送到另一個內存地址?


[編輯]

什麼是我想要做什麼?

我試圖對接的量規的機器人系統(無RS232或串行,沒有TCP/IP,僅具有最簡單的I/O點)與(通過由PC/C#應用以太網控制)歐姆龍PLC。當量表完成一次測量時,C#應用程序向Omron PLC發送一個命令,根據接收到的命令,開啓或關閉一個觸發電壓流向機器人I/O端口的輸出。

我應該使用FINS嗎?我需要知道的PLC的哪些功能/協議?我不知道,所以我正在測試文檔中的每個函數。到目前爲止,零進展。

回答

3

1)所有尋址信息封裝在五個控制字(C - > C + 4)中。 C-「第一個控制字」是這個表格中第一個單詞的指針,這個單詞必須存儲在PLC的某個位置以建立通信。

2)第一個源字指向您希望發送的PLC中的第一個字。第一個目的地字指向您希望發送到的PLC /設備中的第一個地址。在這個例子中,第一個控制字指定應該發送10個字。你指向第一個,它會發送那個加上接下來的九個地址。

爲此,您必須使用FINS通信 - PC存儲與PLC(CIO,DM等)類似的稱爲事件存儲器的存儲器結構,這些是您指向的PC中的地址。 PC可以像PLC那樣得到一個FINS節點號和地址 - 不涉及IP地址。 (見:FINS Manual)然而,FINS已經很老了,並且已經被諸如Sysmac Gateway之類的東西所取代。

但是,PLC/PC之間有很多更好的通信方式,這取決於你想要做什麼。你想寫一個HMI嗎?如果是這樣,你使用什麼語言?

編輯:

如果您使用C#,我強烈建議你看看Sysmac Gateway and CX-Compolet.這可能是最靈活,簡單和可擴展的方式獲得.NET和歐姆龍PLC進行工作。但是,如果可能的話,更好的方法是讓測量單元通過硬件I/O(繼電器,DIO等)直接與PLC通信。

CX-Compolet,SYSMAC網關鏈接:

http://www.ia.omron.com/product/family/63/index_l_u.html

+0

我編輯關於什麼,我試圖做我的問題。就我需要學習做什麼而言,我迷失了方向。我只是逐頁閱讀文檔,並找出例子。希望你能告訴我一些方向。 – KMC 2012-02-25 17:46:38

+0

你的意思是我必須做五條MOV指令來填寫從C到C + 4的必要地址信息?我是否還必須執行MOV指令來填寫所有7層TCP/IP的信息?我從來沒有認爲PLC可能會這麼複雜...... – KMC 2012-02-25 18:14:13

+0

是的,您需要配置5個順序存儲器位置,並在C-> C + 4中保存所需的配置數據。但是,SEND更適用於PLC通訊。這並不是說你不能使用PLC <-> PC,但它並不是真正的首選方法。 – 2012-02-25 18:19:54