CoDeSys的前世今生


?????? 工作以及網上看到不少人說,CoDeSys和西門子step7,在德國都屬于標準過程,牛逼的小朋友都可以用其編程,不知真假,相信無風不起浪,多少有些依據,看看國內清一色的日系編程,我們是否需要換換腦子,換換思考方式了?CoDeSys類的編程能否達到這個目的?

?????? CoDeSys是全球最著名的軟PLC內核軟件研發廠家德國的3S(SMART,SOFTWARE,SOLUTIONS)公司出的一款與制造商無關的IEC 61131-1編程軟件。CoDeSys 支持完整版本的IEC61131標準的編程環境,支持標準的六種編程語言。是一個標準的軟件平臺,被很多硬件廠家支持,可編程超過150家OEM生產的自動裝置。CoDeSys提供了許多組合產品的擴充,諸如各種不同領域的總線配置程序、完全的目測化和運動控制系統。

?????? CoDeSys是一種功能強大的PLC軟件編程工具,它支持IEC61131-3標準IL 、ST、 FBD 、LD、 CFC、 SFC六種PLC編程語言,用戶可以在同一項目中選擇不同的語言編輯子程序,功能模塊等。



CoDeSys是可編程邏輯控製PLC的完整開發環境(Controlled Developement System的縮寫),在PLC程序員編程時,CoDeSys為強大的IEC語言提供了一個簡單的方法,係統的編輯器和調試器的功能是建立在高級編程語言的基礎上(如Visual C++)。



現在國內PLC用戶使用的版本多為CoDeSys V2.3, 最新的版本是CoDeSys V3(目前最新版本為V3.5)。V3 在軟件架構上有了很大的改善,朝安全軟件的方向發展,目前正在申請TUV關於EN 61508的SIL認證。



HOLLSYS(和利時G3 PLC),Kinco(深圳步科F1 PLC),ABB AC500係列,IFM,EPEC,Rexroth,Wago,Parker,Beckhoff,Festo,施耐德等PLC廠家都是使用CoDeSys平臺開發自己的編程軟件的。當然了,還有很多其他公司。



另外,CoDeSys也提供觸摸屏功能(Visualization),但這不是他的強項,基本都是采用OPC+工控機的方案,ABB,倍福都有很好的方案,都是麵向不差錢的客戶。



3S競爭者

CoDeSys的其他競爭對手還有KW、infoteam、ISAGRAF。聽說infoteam(國內稱一方梯隊)也挺牛的,不太了解,想說說KW,同屬於德國企業,主要是產品為multiprog。

KW的主要客戶有菲尼克斯的AutomationWorx、富士電機的D300Win、 研華的Multiprog,苞米勒的PLC和伺服係列,三菱應該也是它的大客戶,但是編程方式卻是按照日本人的習慣來的。



CoDeSys框架組成

兩部分:

1、CoDeSys IDE

即CoDeSys集成開發環境,符合IEC61131編程規範,安裝於PC機上,運行於Windows或者Linux下。由最終應用用戶所使用的開發工具。

2、CoDeSys Runtime。即硬件平臺係統。需要設備製造商與3S公司共同完成,3S公司需要評估硬件開發商所設計的硬件係統,並為其定製CoDeSys Runtime框架,客戶需要為此向3S付費。然後硬件及係統開發商需要根據本係統的外圍輸入輸入等配置,編寫相應的驅動,並以庫或者PLC Configure接口的形式提供給CoDeSys ID開發環境調用。實際上就是形成一套Target安裝包。此外,CodeSys還會對每個使用其CoDeSys Runtime的設備貼標,設備供應商需要為每個3S標牌付費,作為其知識產權的一部分。

3、最終用戶(應用開發商)可以下載通用的CoDeSys IDE。裏麵提供基本的IEC61131編程環境,但是對於一個具體的硬件PLC或者HMI,需要安裝與該硬件相對應的Targets包。這個 Targets包的入口文件是*.tnf文件,有其來指定:

1、targets(*.tar)文件,對應 CoDeSys IDE的Target Setting項.

2、PlcConf文件夾下的*.cfg文件,對應CoDeSys IDE的PLC Configuration項。其安裝路徑由InstallTarget組件程序的Installation選項指定。反映在CoDeSys IDE上就是:Project/Options/Directories/Target/Configuration files: "**/*/PlcConf/"。

3、Lib文件夾下的諸*.lib文件,提供底層的CoDeSys Runtime的驅動接口。對應CoDeSys IDE的Library Manager。其安裝路徑由InstallTarget組件程序的Installation選項指定。反映在CoDeSys IDE上就是:Project/Options/Directories/Target/Libraries: "**/*/Libs/"。





?

???

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/254698.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/254698.shtml
英文地址,請注明出處:http://en.pswp.cn/news/254698.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

UVALive 7324 ASCII Addition (模擬)

ASCII Addition題目鏈接: http://acm.hust.edu.cn/vjudge/contest/127407#problem/A Description Nowadays, there are smartphone applications that instantly translate text and even solve math problems if you just point your phone’s camera at them. You…

Eclipse中執行Ant腳本出現Could not find the main class的問題及解

試過了:https://blog.csdn.net/bookroader/article/details/2300337 但是不管用,偶然看到這篇沒有直接關系的 https://blog.csdn.net/jiuyueguang/article/details/9350753 聯想了一下。項目是JDK1.5,Eclipse是JDK1.8啟動,所以在R…

獲得變量的名稱獲得傳入參數的參數類型與堆棧中的函數名獲得變量的名稱

獲得變量的名稱 獲得變量的名稱函數 public static string GetVarName(Expression<Func<變量類型, 變量類型>> exp) public static string GetVarName_Int(Expression<Func<int, int>> exp){return ((MemberExpression)exp.Body).Member.Name;}使用時…

視頻通話研究002

還是關于視頻質量。經測試&#xff0c;在公網server使用SQCIF(128x98)進行視頻通話。2個client都是這個設置&#xff0c;感覺不出馬賽克&#xff0c;模糊嚴重&#xff0c;在一個手機client抓包&#xff0c;例如以下&#xff1a; 第1,2行是client發到server的數據&#xff1b;第…

實力打臉: 量子隱形傳輸與 “瞬間移動” 毫無關系

有兩個團隊已經在量子隱形傳輸研究領域創造了新的傳輸記錄&#xff1a;利用深不可測的量子力學知識將一個粒子的量子態迅速從一個位置遷移到另一個位置的粒子上。其中一個團隊采用這種方法&#xff0c;運用一種光學纖維將一個光子的量子態穿越加拿大西南部的一個城市&#xff0…

Android初級教程:使用xml序列器

之前備份短信的時候生成xml都是手動拼寫的&#xff0c;有一個問題&#xff1a;當短信里面存在</body>這樣的標簽的時候&#xff0c;最后結果就不是完整的xml文件&#xff0c;顯然出錯。但是&#xff0c;今天使用序列化器的方式&#xff0c;就能有效的解決上邊遇到的問題。…

架構師之我見

架構師之我見 2009-08-06 架構師是一個項目組的靈魂人物&#xff0c;他決定著整個系統的技術選型、整體架構以及模塊劃分&#xff0c;同時還可能擔當與領導層的溝通角色&#xff0c;從某種意義上來說&#xff0c;架構師在很大程度上決定著項目的成敗與否&#xff0c;正所謂火車…

KUKA 聲明變量時的幾點注意

臨時變量&#xff1a; 1、src文件中定義的局部變量&#xff0c;該種變量存在于內存中的棧上。子程序調用時&#xff0c;變量在棧上動態生成。調用結束后從棧中自動銷毀。 因為存在于棧上的原因&#xff0c;訪問該變量需要棧指針&#xff0c;所以該種變量無法在機器人程序運行時…

三個點擬合圓形的函數C#

三個點擬合圓形的函數 函數說明 public void FitCircleFromThreePoints(double 點1X, double 點1Y, double 點2X, double 點2Y, double 點3X, double 點3Y, out double 圓心X坐標, out double 圓心Y坐標, out double 圓形半徑大小)public void FitCircleFromThreePoints(doub…

poj3264Balanced Lineup(倍增ST表)

Balanced LineupTime Limit: 5000MS Memory Limit: 65536KTotal Submissions: 52328 Accepted: 24551Case Time Limit: 2000MSDescription For the daily milking, Farmer Johns N cows (1 ≤ N ≤ 50,000) always line up in the same order. One day Farmer John decides to …

LightOJ1283 Shelving Books(DP)

題目 Source http://www.lightoj.com/volume_showproblem.php?problem1283 Description You are a librarian. You keep the books in a well organized form such that it becomes simpler for you to find a book and even they look better in the shelves. One day you ge…

量子傳輸技術轉移一個人需要4500萬億年

看過《星際迷航》的朋友一定不會忘記這句經典的臺詞&#xff1a;斯科蒂&#xff0c;將我傳輸過去&#xff01;其中涉及到量子隱形傳輸的技術&#xff0c;可以把物體從三維時空一處傳輸到另一處。但可惜的是&#xff0c;這種看著非常炫的技術或許根本無法實現。 到目前為止&…

使用OutputDebugString幫助調試

使用OutputDebugString幫助調試 前面我已經介紹了使用TRACE來幫助我們調試&#xff0c;但使用TRACE有一個限制&#xff0c;只能在將程序DEBUG編譯狀態下才能使用&#xff0c;下面我們介紹OutputDebugString函數&#xff0c;通過它&#xff0c;可以在在DEBUG或RELEASE情況也可以…

leetcode-551-Student Attendance Record I(判斷是否出現連續幾個相同字符)

題目描述&#xff1a; You are given a string representing an attendance record for a student. The record only contains the following three characters: A : Absent.L : Late.P : Present.A student could be rewarded if his attendance record doesnt contain more t…

簡單實現

1.創建接口和實現類 &#xff08;模擬實現查詢天氣&#xff09; 接口&#xff1a; package com.learning.weather;/*** * weather 接口 &#xff1a;實現模擬wsdl*/ public interface WeatherInterface {/*** 查詢天氣* param name* return*/public String queryWeather(Strin…

halcon聯合C#測量十字Mark中心

halcon聯合C#測量十字Mark中心 函數說明 public void FitRectangleMeasure(HWindow 窗口句柄, HImage 圖像, out double 中心Y坐標, out double 中心X坐標)操作步驟&#xff0c;首先繪制兩個矩形測量框&#xff1b;之后就可進行自動計算。 public void FitRectangleMeasure(…

x264 struct 學習

x264_t結構體維護著CODEC的諸多重要信息其中成員frames是一個指示和控制幀編碼過程的結構。其中current是已經準備就緒可以編碼的幀&#xff0c;其類型已經確定&#xff1b;next是尚未確定類型的幀&#xff1b;unused用于回收不使用的frame結構體以備今后再次使用。 structx26…

單例模式的新實現

單例模式的新實現 jdk1.5 之前 單例模式的兩種方式&#xff0c;兩種方法都是要把構造器保持私有的&#xff0c;并導出公有的靜態成員&#xff0c;以便允許客戶端能夠訪問該類的唯一實例。 第一種方法中&#xff0c;公有的靜態成員是個final域: //Singleton with public final f…

有關莫比烏斯反演

對于兩個定義域為整數的函數F(x)和f(x); 若有: 然后F(x)可以快速求出&#xff1b; 如何用F求解f呢&#xff1f; 莫比烏斯反演&#xff1a; 對于兩個定義域為整數的函數F(x)和f(x); 若有: 則有&#xff1a; 其中μ(x)為莫比烏斯函數&#xff0c;其定義為&#xff1a; 對于&#…

(原創)JS點擊事件——Uncaught TypeError: Cannot set property 'onclick' of null

html部分代碼&#xff1a; JS部分代碼&#xff1a; 需要實現的效果&#xff1a;點擊圖片&#xff0c;來回相互切換。 我開始的錯誤做法&#xff1a;代碼如上圖所示&#xff08;邏輯上看起來是沒有錯誤的&#xff09; 嘗試過程&#xff1a;把JS代碼放在</body>閉合標簽之前…