使用put/get的s7單向通信我已做過(guò)很多次,包括西門子各種plc之間的s7通信幾乎都是“不費(fèi)吹灰之力”就通信上了。最近在做s7-300和s7-1200之間的s7通信時(shí),s7-1200做客服機(jī)沒(méi)有問(wèn)題,s7-1200做服務(wù)器怎么也不能傳輸數(shù)據(jù)。這可是我在5年以前就做成功過(guò)的實(shí)驗(yàn)呀!反復(fù)折騰了幾天,最后還是通過(guò)一個(gè)朋友知道了原因。原來(lái)在step7 v13中組態(tài)固件版本v4.0的s7-1200 cpu的屬性時(shí),在保護(hù)類別的“連接機(jī)制”中,需要勾選“允許從遠(yuǎn)程伙伴(plc、hmi、opc、……)使用put/get通信訪問(wèn)”(見(jiàn)下圖)。
通過(guò)put/get訪問(wèn)plc的確是一個(gè)安全漏洞,黑客可能通過(guò)這個(gè)漏洞攻擊plc系統(tǒng)。s7-1200新增的這個(gè)安全功能是很有必要的。但是這是個(gè)新生事物,很多用戶像我一樣,并不知道有這個(gè)設(shè)置。在雙方連接不上時(shí),put/get的狀態(tài)字列表中也沒(méi)有有關(guān)的信息。
為了使大家在s7-1200做s7通信的服務(wù)器時(shí)不要重蹈我的覆轍,特發(fā)此貼。