西門子S7通訊
在使用Github上開源的S7.net 跟西門子PLC通訊時遇到了一個問題。
在逐步除錯時發現每次走到非同步傳送的地方之後,便阻塞在那裡。
經過幾天的測試,原來是因為多執行緒同時對同一個PLC物件操作。造成的錯誤。
解決方法:單獨建立一個執行緒及訊息佇列,然後將需要傳送的資料放入佇列中。PLC連線物件只由新建立的執行緒呼叫,執行緒迴圈檢測佇列中的個數,如果有資料需要傳送,則呼叫PLC物件傳送。
教訓:跟下位機通訊,或者說操作某一個資源,儘量只使用一個執行緒去操作。
相關推薦
西門子S7通訊
在使用Github上開源的S7.net 跟西門子PLC通訊時遇到了一個問題。 在逐步除錯時發現每次走到非同步傳送的地方之後,便阻塞在那裡。 經過幾天的測試,原來是因為多執行緒同時對同一個PLC物件操作。造成的錯誤。 解決方法:單獨建立一個執行緒及訊息佇列,然後將需要傳送的資料放入佇列
開源純C#工控網關+組態軟件(三)加入一個新驅動:西門子S7
space 流量 php cls clsid hub pro 第一個 問題 一、 引子 首先感謝博客園:第一篇文章、第一個開源項目,算是旗開得勝。可以看到,項目大部分流量來自於博客園,碼農樂園,名不虛傳^^。 園友給了我很多支持,並提出了很好的改進意見。現加入屏幕分辨率自適
西門子S7-200PLC自由口初始化
文章參考連結:https://jingyan.baidu.com/article/6525d4b17c0056ac7d2e9412.html 西門子s7-200自由口十分方便快捷,熟悉其初始化方法對與用其讀取給類資料有著重要的應用。 工具/原料 S7-200PL
VC訪問西門子S7-200的串列埠協議分析(實測通過)
讀命令: PLC地址為2號,讀取VD300的值為0x0960 1. PC發讀取命令: 68 1B 1B 68 02 00 6C 32 01 00 00 00 00 000E 00 00 04 01 12 0A 10 06 00 01 00 01 84 00 09 60D5
上位機C#通過OPCUA和西門子PLC通訊
寫在前面: 很多人在學習OPCUA的時候,有個非常苦惱的問題,就是沒有OPCUA伺服器的環境,這時候,有些人可能會想到通過類似於KepServer這樣的軟體來實現。那麼,有沒有一種方式,實現快速搭建OPCUA環境呢?答案是有的,今天繼續給大家分享S7-PLCSIM Advanced,S7-PLCSIM Adv
C# 構建S7服務器 西門子的虛擬服務器 測試通訊 HslCommunication應用
amp per 數據 簡單 建議 label ted siem sharp 本文將使用一個gitHub開源的組件技術來實現S7服務器的功能,使用的是基於以太網的TCP/IP實現,不需要額外的組件 github地址:https://github.com/dathlin/Hsl
上位機開發之西門子PLC-S7通訊實踐
寫在前面: 就目前而言,在中國的工控市場上,西門子仍然佔了很大的份額,因此對於上位機開發而言,經常會存在需要與西門子PLC進行通訊的情況。然後對於西門子PLC來說,通訊方式有很多,下面簡單列舉一下: (1) S7通訊:PLC作為伺服器,上位機作為客戶端 (2) 
java android 讀寫西門子PLC數據,包含S7協議和Fetch/Write協議,s7支持200smart,300PLC,1200PLC,1500PLC
操作 [1] sim mmu 時間 多線程同步 ont 量化 訪問 本文將使用一個gitHub開源的組件技術來讀寫西門子plc數據,使用的是基於以太網的TCP/IP實現,不需要額外的組件,讀取操作只要放到後臺線程就不會卡死線程,本組件支持超級方便的高性能讀寫操作 githu
JZX879|西門子PLC|施耐德PLC|三菱PLC|遠距離通訊|歐姆龍|技卓芯
可程式設計邏輯控制器是種專門為在工業環境下應用而設計的數字運算操作電子系統。它採用一種可程式設計的儲存器,在其內部儲存執行邏輯運算、順序控制、定時、計數和算術運算等操作的指令,通過數字式或模擬式的輸入輸出來控制各種型別的機械裝置或生產過程。 ![JZX879
西門子plc s7-200的表用法中填表fill_n和查表詳解
1、填表(或者清空表)fill_n相信大家都用的比較多,主要是用來清空表的內容的,網上查到的內容多不夠白話,特寫一下教程,方便初學者理解,fill_n指令包含兩個個輸入和一個輸出。下面這個例子就是講8個0填充到vw202開始的8個位置,相當於清空表。2、查表如果建立表的時候,
西門子plc與modbus裝置進485通訊詳解(modbus多機輪詢)
接觸西門子s7-200一段時間後,接手一個通訊專案,需要在觸控式螢幕上顯示三臺pid溫度表的溫度。 一開始打算觸控式螢幕多餘的串列埠轉485直接連線溫度表,後來由於一直通訊不上,懷疑觸控式螢幕的問題,於是打算用plc來讀取pid表,走的是modbus協議,即port1接三臺
西門子PC Adapter USB,線上S7-200時,提示埠被佔用,不搜尋站點問題的一個解決方案:
在WIN7 32下同時安裝了STEP7、V4.0 STEP 7 MicroWIN SP9。利用通用型的PC Adapter USB進行程式設計。在STEP7線上後,更換插頭到S7-200,線上時提示埠被佔用,不搜尋站點。重啟系統,首先進行S7-200線上正常。一旦使用STEP
西門子PLC S7-200的程式結構
S7-200的程式有三種:主程式、子程式、中斷程式。 主程式只有一個,名稱為OB1。 子程式可以達到64個,名稱分別為SBR0~SBR63。子程式可以由子程式或中斷程式呼叫。 中斷程式可以達到128個,名稱分別為INT0~INT127。中斷方式有輸入中斷、定時中斷、高速計數中斷、通
西門子plc s7-200寫的先進先出範例 用fifo
本人最近寫了一個五臺鍋爐共用一個冷卻水泵的程式,開始打算用時間戳來記錄每臺鍋爐需要冷卻的時間,然後用時間進行排序,但是後來無意中發現fifo可以實現表的先進先出的功能,就抱著學習的目的,用fifo寫了本程式。第一步,先要建立一個表如下圖,上電初始化建立一個具有5個值的表,從V
深度剖析西門子PLC的開放式TCP通訊
對於自控或電氣工程師來說,西門子PLC是每個人都非常熟悉的一款PLC品牌;而對於上位機開發工程師來說,Socket通訊或TCP/IP協議也是必須要掌握的一種通訊方式。剛好手頭有一款西門子的200Smart PLC,可以利用它來跟大家聊聊Socket通訊的那些事兒。 相比較而言,西門子PLC對Socket通訊的
西門子SE70參數設置步驟
故障 幫助 時間 學會 沒有 接口 申請 開始 機構 一、初始化 (恢復出廠值) P053=7 (權限設置)定義參數化所用接口 P60=2 (菜單類型選擇)固定設置,用於恢復到工廠設置 P366=0 (提升10)選擇工廠設置或固定設置 P970 =0 (啟動參數復
回收西門子PLC_回收西門子CPU模塊觸摸屏存儲卡MMC卡
回收西門子PLC 回收西門子CPU 回收西門子PLC模塊 全國高價回收西門子PLC模塊,回收西門子PLC,收購二手PLC,求購西門子PLC 西門子觸摸屏 西門子DP電纜 西門子網絡接頭 西門子6FC 6SN 6SL系列伺服數控系統 價格合理,量大可上門提貨。 南京長青自動化設備有
西門子博途編程 - 另類狀態機
發現 es2017 border idt .cn display ref body 技術分享 這次我們用博途來寫上次的控制任務,發現還是有些不一樣。和AB比,還是有點復雜啊。西門子博途編程 - 另類狀態機
西門子博途編程 - 變頻器控制
標準 border eight speed tor height display 西門子 .cn 這次我們編寫一個變頻器控制任務。我們選擇標準報文2PZD。這裏我們簡要講一下狀態字中的第二個字,返回的是頻率的百分比,-100% 到 +100% 相對應的範圍為-16384 到
Modbus、KepServer、西門子PLC通信
提前 重復 一份 for 理解 得到 感覺 target ive 昨天在現場實現了工業數據的通信,簡單寫一下。 1.按照國際慣例,先介紹一下 ModBus通信協議感覺是物理層面的,幾個終端串聯在一起,通過設定每個終端不同的ID號,來訪問。具體硬件實現還未研究。 本系統采用M