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.mzph.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>闭合标签之前…