{西門子與客戶攜手,讓關鍵所在,逐一實現}
德國制造: 現貨 聯 系 人: 黃勇《黃工》 24小時聯系手機: 13701633515
全新原裝: 參數
質量保證: 保修 直線銷售 電 話: 021-31660605 在 線 商 務 QQ: 77956468
價格優勢: 特價
我公司大量現貨供應,價格優勢,品質保證,德國原裝進口
凡在公司采購西門子產品,均可質保一年,假一罰十
花30秒詢價,你會知道什么叫優勢;花60秒咨詢,你會知道什么叫服務;
合作一次,你會知道什么叫質量!以質量求生存,以信譽求發展。
我公司將提供一流的質量,服務作為自已最重要的責任。
承諾一:1、絕對保證全新原裝進口
承諾二:2、絕對保證安全準時發貨
承諾三:3、絕對保證售后服務質量
流程一:1、客戶確認所需采購產品型號
流程二:2、我方會根據詢價單型號查詢價格以及交貨期,擬一份詳細正規報價單
流程三:3,客戶收到報價單并確認型號無誤后訂購產品
流程四:4、報價單負責人根據客戶提供型號以及數量擬份銷售合同
流程五:5、客戶收到合同查閱同意后蓋章回傳并按照合同銷售額匯款到公司開戶行
流程六:6、我公司財務查到款后,業務員安排發貨并通知客戶跟蹤運單

對于工控新人來說,使用STEP7編程時,首先需了解OB/FC/FB/DB等塊的功能和作用,待掌握這些塊后再進行編程就“輕而易舉”了。
在熱線上經常遇到用戶咨詢FB的接口變量類型IN_OUT、STAT、TEMP在使用上有何區別,以下通過一個簡單的例子進行說明。運用FB塊編程計算公式:(A+B) * C = D,在程序中需要通過一個中間變量(例如其變量名定義為“TEMP_value”)傳遞“A”和“B”相加的結果,然后再乘以“C”得到最終結果“D”;將中間變量“TEMP_value”分別定義為IN_OUT、STAT或TEMP類型后做如下測試。
首先創建FB1,在IN接口類型中新建A、B、C 三個變量,數據類型INT;在OUT接口類型中新建D 變量,數據類型INT;在OB1中調用FB1,并生成對應的背景DB塊DB1。
情形一,將中間變量“TEMP_value”定義為IN_OUT類型時,接口定義及程序如圖1:
圖1 中間變量“TEMP_value”定義為IN_OUT類型
下載到CPU中執行程序監控,在調用FB1的接口參數處和背景DB塊中都可以監控到變量“A”和“B”相加的中間結果“TEMP_value”,如圖2所示。
圖2 中間變量“TEMP_value”定義為IN_OUT時的在線數據
情形二,將中間變量“TEMP_value”定義為STAT類型時,接口定義及程序如圖3:
圖3 中間變量“TEMP_value”定義為STAT類型
下載到CPU中執行程序監控,僅能在其背景DB塊中監控到變量“A”和“B”相加的中間結果“TEMP_value”的值,而在調用FB1的接口參數處無該中間變量,如圖4所示。
圖4 中間變量“TEMP_value”定義為STAT時的在線數據
情形三,將中間變量“TEMP_value”定義為TEMP類型時,接口定義及程序如圖5:
圖5 中間變量“TEMP_value”定義為TEMP類型
下載到CPU中執行程序監控,既不能在其背景DB塊中監控到變量“A”和“B”相加的中間結果“TEMP_value”的值,也不能在調用FB1的接口參數處看到該中間變量,如圖6所示。
圖6 中間變量“TEMP_value”定義為TEMP時的在線數據
對于同一個中間變量,在FB中定義為不同的參數類型時,其接口參數和對應的背景數據塊的顯示都不盡相同。所以在不同的需求下可自行定義中間變量的類型,以滿足不同的需求。西門子創新工業之道是“知其道,用其妙”,編程也不例外,知“FB接口類型”之道,用其妙。
一、 S7-200PLC內部RS485接口電路圖:電路圖見附件
圖中R1、R2是阻值為10歐的普通電阻,其作用是防止RS485信號D+和D-短路時產生過電流燒壞芯片,Z1、Z2是鉗制電壓為6V,最大電流為10A的齊納二極管,24V電源和5V電源共地未經隔離,當D+或D-線上有共模干擾電壓灌入時,由橋式整流電路和Z1、Z2可將共模電壓鉗制在±6.7V,從而保護RS485芯片SN75176(RS485芯片的允許共模輸入電壓范圍為:-7V~+12V)。該保護電路能承受共模干擾電壓功率為60W,保護電路和芯片內部沒有防靜電措施。
二、常發生的故障現象分析:
當PLC的RS485口經非隔離的PC/PPI電纜與電腦連接、PLC與PLC之間連接或PLC與變頻器、觸摸屏等通信時時有通信口損壞現象發生,較常見的損壞情況如下:
●R1或R2被燒斷,Z1、Z1和SN75176完好。這是由于有較大的瞬態干擾電流經R1或R2、橋式整流、Z1或Z1到地,Z1、Z2能承受最大10A電流的沖擊,而該電流在R1或R2上產生的瞬態功率為:102×10=1000W,當然會將其燒斷。
●SN75176損壞,R1、R2和Z1、Z2完好。這主要可能是受到靜電沖擊或瞬態過電壓速度快于Z1、Z2的動作速度造成的,靜電無處不在,僅人體模式也會產生±15kV的靜電。
●Z1或Z2、SN75176損壞,R1和R2完好。這可能是受到高電壓低電流的瞬態干擾電壓將Z1或Z2和SN75176擊穿,由于電流較小和發生時間較短因而R1、R2不至于發熱燒斷。
由以上分析得知PLC接口損壞的主要原因是由于瞬態過電壓和靜電造成,產生瞬態過電壓和靜電的原因很多也較復雜,如由于PLC內部24V電源和5V電源共地,24V電源的輸出端子L+、M為其它設備混合供電可能導致地電位變化,從而造成共模電壓超出允許范圍。所以EIA-485標準要求將各個RS485接口的信號地用一條低阻值導線連接在一起以保證各節點的地電位相等,消除地線環流!
當帶電插拔未隔離的連接電纜時,由于兩端電位不相等電路中又存在諸多電感、電容之類的器件,插拔瞬間必然產生瞬態過電壓或過電流。
連接在RS485總線上的其它設備產生的瞬態過電壓或過電流同樣會流入到PLC,總線上連接的設備站點數越多,產生瞬態過電壓的因素也越多。
當通信線路較長或有室外架空線時,雷電必然會在線路上造成過電壓,其能量往往是巨大的,常有用戶沮喪地說:“聯網的幾十臺PLC全部遭打壞了!”。
三、 解決辦法:
1、從PLC內部考慮:
●采用隔離的DC/DC將24V電源和5V電源隔離,分析了三菱、歐姆龍、施耐德PLC以及西門子的PROFIBUS接口均是如此。
●選用帶靜電保護、過熱保護、輸入失效保護等保護措施完善的高擋次RS485芯片,如:SN65HVD1176D、MAX3468ESA等,這些芯片價格一般在十幾元至幾十元,而SN75176的價格僅為1.5元。
●采用響應速度更快、承受瞬態功率更大的新型保護器件TVS或BL浪涌吸收器,如P6KE6.8CA的鉗制電壓為6.8V,承受瞬態功率為500W,BL器件則可抗擊4000A以上大電流沖擊。
●R1和R2采用正溫度系數的自恢復保險PTC,如JK60-010,正常情況下的電阻值為5歐,并不影響正常通信,當受到浪涌沖擊時,大電流流過PTC和保護器件TVS(或BL),PTC的電阻值將驟然增大,使浪涌電流迅速減小。
2、從PLC外部考慮:
● 使用隔離的PC/PPI電纜,盡量不用廉價的非隔離電纜(特別是在工業現場)。西門子公司早期出產的PC/PPI電纜(6ES7 901-3BF00-0XA0)是不隔離的,現在也改成隔離的電纜了!
● PLC的RS485口聯網時采用隔離的總線連接器.
● 與PLC聯網的第三方設備,如變頻器、觸摸屏等的RS485口均使用RS485隔離器BH-485G進行隔離,這樣各RS485節點之間就無“電”的聯系,也無地線環流產生,即使某個節點損壞也不會連帶其它節點損壞。
● RS485通信線采用PROFIBUS總線專用屏蔽電纜,保證屏蔽層接到每臺設備的外殼并最后接大地。
● 對于有架空線的系統,總線上最好設置專門的防雷擊設施。
找到了解決S7-200通訊口損壞的辦法了
在我們單位眾多的S7-200PLC中,不時有通訊口損壞,致使不能連接PC或不能進行通訊,在對PLC解體時發現,在PLC通訊口出有一芯片--75176,這就是通訊接口芯片,在芯片周圍有5個FB,標識FB1~FB5,這其實就是5個保險,在通訊連不上時,一般就是這5個保險中的某個燒毀了,可用同等型號的保險代替,也可用導線直接短路。一般就能解決問題。不過更換時要注意,由于元件時貼片的,十分小,空間也小,所以焊接時注意不要短路。
1.1如何獲得指針或者間接尋址有關的信息?
指針的類型包括16位指針、32位指針、Pointer(6Byte)和Any(10Byte)。16位指針用于定時器、計數器、程序塊的尋址;32位指針用于I/Q/M/L/數據塊等存儲器中位、字節、字以及雙字的尋址,其中第0~2位表示位地址(0~7)、第3~18位為字節地址,其余位未定義;Pointer和Any一般應用在復雜數據類型(比如Date_and_Time /Array/String等)在FB、FC之間的傳遞。而Any可以看做是對Pointer的延伸,因為由10Byte組成的Any中Byte4~Byte9就是一個Pointer。
了解指針的格式十分重要,為正確使用指針,應閱讀如下內容:
1、 "SIMATIC Programming with STEP 7 V5.5" 05/2010 第27.3.4章 參數類型
2、文檔:1008用于S7-300 和S7-400 的語句表(STL)編程
3、文檔:F0215,S7-300和S7-400尋址 1.2為什么語句 LAR1 P##PointerInput 在一個函數(FC)中是無效的,然而,同樣的語句在一個功能塊(FB)中是有效的?
在FC被調用時,復雜數據類型例如指針是被復制到調用者的臨時變量區中,在FC內部對此V區地址直接取址放入到地址寄存器AR1或AR2是不被編譯器規則接受的(導致MC7寄存器信息過長),也就是說在FC內部通過P#進行地址寄存器取址僅能支持Temp臨時變量。因此如果需要在FC中操作指針等復雜輸入輸出變量地址需要使用累加器進行中轉。
考慮到程序的一致性、遵守編譯器規則和STL手冊中LAR1指令說明,建議用戶使用如下指令操作:
L P##PointerInput
LAR1 1.3 STEP 7 中哪些操作會覆蓋DB/DI寄存器或者地址寄存器AR1/AR2的內容?
下面說明了可能引起DB/DI寄存器或者地址寄存器AR1/AR2內容改變的一些操作:
LAR2 #AR2_SAVE; //AR2寄存器恢復到使用前狀態1.4 如何得到多重背景FB中的變量在背景DB里的絕對偏移量呢?
OPN DI [#DB2_SAVE]; //DI寄存器恢復到使用前狀態
1 。 在MAIN 主程序中調用定時中斷子程序的下面,并聯寫入上升
沿,使寄存器或計數器C0 加1 。例如:
2 。 M10.0
----------| |-----------------------------------------( 1 )----
M10.0
----------| |----------------| P |-------------------( 2 )-----
(1) 表示調用定時中斷子程序。
( 2) 表示寄存器或計數器C0加1



