Codesys的软件PLC解决方案

2024-04-19 11:18

本文主要是介绍Codesys的软件PLC解决方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1). 简介

可编程逻辑控制器(PLC)产生于60年代末,当时它们基本上就是适合工业自动化需要的计算机,广泛应用于最多样化的制造工厂。本文主要介绍Codesys公司提供的软件PLC解决方案,部署在基于ARM的计算机模块系列(如Toradex公司的Colibri和Apalis系列)上,可以将模块转换为PLC解决方案。 它非常适合于设备最终用户必须需要对逻辑控制器进行编程的场合。 以下列表产品list of Devices using Codesys是使用Codesys解决方案的(其中不乏一些著名的PLC品牌,如Beckhoff,Wago和Eaton)。

 

Codesys实现为类似PLC的设备提供的解决方案有以下几个优势several advantages。 有关软件授权许请点击这里。如果你在Toradex 的硬件平台上需要Codesys的软件授权,请联系我们的合作伙伴Codesys 或者 Nexo.

 

Codesys可以在基于Linux 或者Windows Embedded Compact的系统上部署,详情如下。

 

2). Codesys 部署于Linux系统

a). Codesys可以在基于ARM硬件平台的多个操作系统上部署运行,在Linux上支持Codesys的必备条件:

为了在Linux上运行Codesys Control,你必须提供对OSADL实时扩展的支持,关于这部分的详细描述请见这里。

 

b). Codesys 演示

Toradex和Codesys联合开发,为Toradex Colibri iMX6DL计算机模块创建了一个演示内核。 这个预装Codesys的内核可以在这里下载,这个演示内核包含了可以运行两个小时的Codesys演示。 演示内核启用了以下功能:

./ Codesys Control Runtime

./ Codesy control 的运行部署

./ TargetVisu - Visualization Software

./ TargetVisu –虚拟化软件

./ WebVisu - WebServer for Visualization

./ WebVisu – 用于WebServer的虚拟化软件 

 

c). 在Colibri iMX6DL上运行Codesys演示的步骤:

./ 下载预装Codesys的内核(tar.bz2 or zip)并解压,对于Windows 系统的用户,可以用zip解压软件如7-zip, 对于Linux系统的用户:

--------------------

tar xjvf codesys.tar.bz2

--------------------

./ 将Codesys文件夹内容拷贝到经FAT文件系统格式化的SD卡中,如果是Linux用户:

--------------------

cp codesys/* <path-to-your-sd-card-mount-point>

--------------------

./ 使用这张SD卡来更新Colibri iMX6DL 计算机模块, 将卡插入计算机载板并在booting过程中暂停启动,如果你的模块用Eboot启动(Windows CE), 你首先需要用recovery mode模式将模块刷新为U-boot启动, 如果模块上已经有U-boot了,执行以下步骤刷新Linux here, 大多数情况下暂定启动并执行以下指令:

--------------------

run setupdate run update

--------------------

./ 当刷新结束后,这个内核将自动启动Codesys 的系统,请注意以太网端口的配置:IP address 192.168.10.2 and default gateway as 192.168.10.1. 因此,你的计算机需要同样的网段以及IP address 192.168.10.1

./ 回到桌面计算机,下载并安装codesys开发工具,我们的测试采用版本的是Codesys v3.5 SP9 Patch3.

./ 在Codesys开发工具中安装Toradex-Device

./ 在Codesys开发工具中 Tool > Device Repository.


./ 从这里下载硬件设备描述文件,将文件的扩展名从.txt修改为.xml

./ 在Device Repository窗口点击安装,并选择前面的下载配置。

./ 当安装过程结束,你就可以开始一个你的新工程了。

 

 

3). Codesys 部署于WinCE系统

Toradex合作伙伴Nexo公司提供基于Colibri Tegra 系列计算机模块的现成解决方案,后续还会延伸到更多平台,详细情况可以联系 Nexo,这里不再赘述。

这篇关于Codesys的软件PLC解决方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/917388

相关文章

Linux samba共享慢的原因及解决方案

《Linuxsamba共享慢的原因及解决方案》:本文主要介绍Linuxsamba共享慢的原因及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux samba共享慢原因及解决问题表现原因解决办法总结Linandroidux samba共享慢原因及解决

找不到Anaconda prompt终端的原因分析及解决方案

《找不到Anacondaprompt终端的原因分析及解决方案》因为anaconda还没有初始化,在安装anaconda的过程中,有一行是否要添加anaconda到菜单目录中,由于没有勾选,导致没有菜... 目录问题原因问http://www.chinasem.cn题解决安装了 Anaconda 却找不到 An

Spring定时任务只执行一次的原因分析与解决方案

《Spring定时任务只执行一次的原因分析与解决方案》在使用Spring的@Scheduled定时任务时,你是否遇到过任务只执行一次,后续不再触发的情况?这种情况可能由多种原因导致,如未启用调度、线程... 目录1. 问题背景2. Spring定时任务的基本用法3. 为什么定时任务只执行一次?3.1 未启用

MySQL新增字段后Java实体未更新的潜在问题与解决方案

《MySQL新增字段后Java实体未更新的潜在问题与解决方案》在Java+MySQL的开发中,我们通常使用ORM框架来映射数据库表与Java对象,但有时候,数据库表结构变更(如新增字段)后,开发人员可... 目录引言1. 问题背景:数据库与 Java 实体不同步1.1 常见场景1.2 示例代码2. 不同操作

java常见报错及解决方案总结

《java常见报错及解决方案总结》:本文主要介绍Java编程中常见错误类型及示例,包括语法错误、空指针异常、数组下标越界、类型转换异常、文件未找到异常、除以零异常、非法线程操作异常、方法未定义异常... 目录1. 语法错误 (Syntax Errors)示例 1:解决方案:2. 空指针异常 (NullPoi

使用DrissionPage控制360浏览器的完美解决方案

《使用DrissionPage控制360浏览器的完美解决方案》在网页自动化领域,经常遇到需要保持登录状态、保留Cookie等场景,今天要分享的方案可以完美解决这个问题:使用DrissionPage直接... 目录完整代码引言为什么要使用已有用户数据?核心代码实现1. 导入必要模块2. 关键配置(重点!)3.

Jackson库进行JSON 序列化时遇到了无限递归(Infinite Recursion)的问题及解决方案

《Jackson库进行JSON序列化时遇到了无限递归(InfiniteRecursion)的问题及解决方案》使用Jackson库进行JSON序列化时遇到了无限递归(InfiniteRecursi... 目录解决方案‌1. 使用 @jsonIgnore 忽略一个方向的引用2. 使用 @JsonManagedR

Seata之分布式事务问题及解决方案

《Seata之分布式事务问题及解决方案》:本文主要介绍Seata之分布式事务问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Seata–分布式事务解决方案简介同类产品对比环境搭建1.微服务2.SQL3.seata-server4.微服务配置事务模式1

关于Nginx跨域问题及解决方案(CORS)

《关于Nginx跨域问题及解决方案(CORS)》文章主要介绍了跨域资源共享(CORS)机制及其在现代Web开发中的重要性,通过Nginx,可以简单地解决跨域问题,适合新手学习和应用,文章详细讲解了CO... 目录一、概述二、什么是 CORS?三、常见的跨域场景四、Nginx 如何解决 CORS 问题?五、基

Nginx启动失败:端口80被占用问题的解决方案

《Nginx启动失败:端口80被占用问题的解决方案》在Linux服务器上部署Nginx时,可能会遇到Nginx启动失败的情况,尤其是错误提示bind()to0.0.0.0:80failed,这种问题通... 目录引言问题描述问题分析解决方案1. 检查占用端口 80 的进程使用 netstat 命令使用 ss