[求助] 控制omron PLC

不好意思 真的需要各位大大幫忙! 

一直無法跟PLC做溝通!!= =| 目前瓶頸>0<

Q1. 之前已有VB程式於PLC中(或其他程式),那我現在用LV

以RS-232傳送指令,可以控制PLC嗎?

Q2. 我所使用的VISA模組,有不對的地方嗎?(附圖)

![](upload://cARxixhpatUS0qGXRVEuhzSs9WX.jpeg)

這裡有3個小問題

Q1. PLC是讀取Hex格式嗎?還有比如Y0要ON時,要輸入的字串又是多少

      是8000500嗎?我附上學長的vi(lv6.0版 7.1可以開)PLC.llb (請點最後一個 深綠色的onoff-beta)

      不過我忘了,這是控制哪一種機型的PLC!

Q2. 而第2個紅圈是檢查碼,但如何檢查,有時是00有時是01,是有關

      ON跟OFF嗎?

Q3. 第3個紅圈byte count,我看有人設7,他是代表讀7個byte嗎?又為捨麼設7?

就這些了,我所有的疑問!!拜託各位高手,指點小弟,真的很想讓她動作!不然教授就要發飆了~~天阿

感謝您的回覆^^

檢查碼需要另外寫程式讓它自動檢查,

byte count 是你要讀回 PLC 的資料字數

在論壇中尋找 PLC 或是 RS232 有蠻多之前討論的

free39036.7859837963

我發現你有留言給我, 請參考

1. 先確認 PLC 與 PC RS232 的設定是一樣的 ( baud rate ...)

2. byte count 試看你要讀回幾個字(值)

請參考附件com4-0.vi

檢查碼需另外幾個指令來完成自動偵測, 我查查看是哪幾個

free大大:

            感謝您提供VI參考...不過在輸入string那邊, 你沒有用到02,03

            這不是RS-232的接收和傳送嗎?還有@;RD08000001;*....

            這些又代表捨麼呢?!

            Q1: 我的VI是否哪裡要修正?

            Q2: 我上面所附上的VI中,得出的Y0是否符合omron位址字串?

            Q3: 之前已有VB程式於PLC中(或其他程式),

               那我現在用LV以RS-232傳送指令,可以控制PLC嗎?

敢請諸位大大指點小弟^0^ 感恩~~

開版的大大

你標題問的是OMRON的PLC,結果你程式用的三菱的PLC位址,試再多次也是不會通的

這兩家廠牌不只PLC的位址不同,通訊格式不同,連那條連接線的接法也不一樣

 liuyunan大大:

                       恩~~你說的沒錯!我問過學弟了,的確是三菱="=

                       哀!!那麼毆姆龍,他的通訊協定(鲍率 同位元檢查..等等)

                       如何去設定呢?那visa模組又該如何組成?!

                       最重要的是,歐姆龍的位址編碼>0<頭大阿~~~

請各位大大!有使用過歐姆龍的範例~~PO給小弟參考!!感激不近阿

我附上的vi 就是用 Omron 的, 最好是手邊有PLC 的使用手冊, 就知道 vi 在講什麼!!

因為怎麼用指令, 上面都有寫

或是在討論區搜尋一下, 以前就討論很多了 

各位大大:

           我利用labview的exampleBasic Serial Write and Read.vi

           去run,但始終沒有反應也~~有輸入指令*DIN? 卻沒有回應。

           我控制的是OMRON的PLC,型號:CS1G CPU42!!希望各位前輩

           再次幫忙小弟,FREE大大,請幫忙小弟!!不好意思ㄋ~~

          

你用的那個VI本來就只是簡單RS232通訊的範例

我是用一條RS232的線,將其中一端的2和3腳短路來測試這個VI才有反應

你要用來控制PLC還是要打入PLC能接受的指令格式字串,你直接輸入指令*DIN? 當然沒反應,因為不是PLC的指令

你需要的是PLC的位址表和通訊指令的寫法資料

[QUOTE=summergogo]

各位大大:

           我利用labview的exampleBasic Serial Write and Read.vi

           去run,但始終沒有反應也~~有輸入指令*DIN? 卻沒有回應。

           我控制的是OMRON的PLC,型號:CS1G CPU42!!希望各位前輩

           再次幫忙小弟,FREE大大,請幫忙小弟!!不好意思ㄋ~~

          

[/QUOTE]

liuyunan大大:

                        嗯~~我也照你說的試了一次,vi有回應!!所以這個vi不是我要的!!而今天omron客服!!(人粉nice)

                        回應我ㄧ些問題,目前已可以連線PLC了!!但它是用OMRON的CX-Programmer軟體(簡稱CX-P)

                        連線,因為他說輸出位址可以在CX-P設定或找到!!但找位址還沒找到="=(明天再打!)

                        不過我用了FREE大大所給的VI,他也所回應了,只是他的程式還是不太了解!!

![](upload://unAFAsYyoHF3IsNgDaGLvWMYIE4.jpeg)紅圈部分 讀回值

                        例如要送給PLC的字串中有@,Address,RD08000001,FCS,*(free的vi)

                        在OMRON手冊有看到類似,但沒有很詳細,假如各位前輩知道的話,請告知小弟~~

                        另外在通訊手冊中,又找到

![](upload://ww9LFUVRoLpalxYaejndWtp2rD0.jpeg)

他的又跟free又不太一樣!!感謝回覆

summergogo39041.9030671296

對不起,煩請各位先進

日前想要透過RS-232跟PLC作控制指令

也感謝FREE大大提供相關VI,但我還是無法下控制命令!!

讓他達到我想要的動作~~目前最大的問題就是在傳送的指令格式!!

前輩如有CS1G的指令格式,煩請教一下小弟~感謝您!!

呼, 終於轉好了, 這是Omron CQM1 對"上位控制"指令的說法, 應該很有幫助!! 我的"RD000...." 指令是讀出PLC DM的值,所以PLC 的燈號不會有變化

Omron_RS232.pdf

--------------

WinXP/LV7.1

[QUOTE=free]

呼, 終於轉好了, 這是Omron CQM1 對"上位控制"指令的說法, 應該很有幫助!! 我的"RD000...." 指令是讀出PLC DM的值,所以PLC 的燈號不會有變化

Omron_RS232.pdf

--------------

WinXP/LV7.1

[/QUOTE] 太感謝ferr大大了!!多謝你喔

今天我仔細看了他指令每一個部分,發現檢查碼是關鍵!!

因為omron用的方法是將起始碼到文字欄,每一個字元利用XOR(互斥或)

相加,最後取2個位元當檢查碼!!請問FERR大大我用最笨的方法...

就是每一個字元單獨輸入到互斥或做加法...感覺有點費時也不太方便!!FCS檢查碼VI.vi請指點小弟如何寫較好也可以做成子VI!!

還有我用讀取的指令都可成功讀回...不過當我使用到寫入或者強制ON的指令時~

PLC沒有動作~~這是為捨麼呢?!是之前內部已有程式的關係嗎?

真的感謝所有大大的回覆,小弟敬上12萬分的感謝^^

這個FCS產生碼程式如何? 參考一下, 也是學來的!!

FCS_new.vi

-----------

WinXP / LV7.1

[QUOTE=free]

硂?FCS玻ネ絏祘Α?W?z? 把σ??? ?雺v厩ㄓ?!!

FCS_new.vi

-----------

WinXP / LV7.1

[/QUOTE] FREE大大,感謝你的VI...不過OMRON要做XOR(互斥或)動作

這是我頭痛的地方,上面有我FCS的VI(最笨的方法)...腦殘>0<

各位前輩給小第一點提示盃!!

[QUOTE=summergogo][QUOTE=free]

??RFCS玻絏?\Α?W?z? 把σ??? ?雺v?菇牙Y!!

FCS_new.vi

-----------

WinXP / LV7.1

[/QUOTE] FREE大大,感謝你的VI...不過OMRON要做XOR(互斥或)動作

這是我頭痛的地方,上面有我FCS的VI(最笨的方法)...腦殘>0<

各位前輩給小第一點提示盃!!

[/QUOTE]

這應該是你要的結果

![](upload://lIXWsgChD6YwIBZ4qOvHMgYoBdV.jpeg)

![](upload://pJSNTeGnSVhnEjd7M1qmGhJRnHp.jpeg)

[/QUOTE]

硂莱赣琌?返E?挡狦

![](upload://lIXWsgChD6YwIBZ4qOvHMgYoBdV.jpeg)

![](upload://pJSNTeGnSVhnEjd7M1qmGhJRnHp.jpeg)

[/QUOTE]

感謝liuyunan大大的幫忙!!

真是深深感受到前輩的厲害~要學的地方還很多!!

~小弟會向大家看齊的! 也請大家可以再互相交流~衷心感恩!