【24h】

Can your software engineer program your PLC?

机译:您的软件工程师可以为您的PLC编程吗?

获取原文

摘要

The use of Programmable Logic Controllers (PLCs) in the control of large physics experiments is ubiquitous. The programming of these controllers is normally the domain of engineers with a background in electronics, this paper introduces PLC program development from the software engineer's perspective. PLC programs provide the link between control software running on PC architecture systems and physical hardware controlled and monitored by digital and analog signals. The higher-level software running on the PC is typically responsible for accepting operator input and from this deciding when and how hardware connected to the PLC is controlled. The PLC accepts demands from the PC, considers the current state of its connected hardware and if correct to do so (based upon interlocks or other constraints) adjusts its hardware output signals appropriately for the PC's demands. A published ICD (Interface Control Document) defines the PLC memory locations available to be written and read by the PC to control and monitor the hardware. Historically the method of programming PLCs has been ladder diagrams that closely resemble circuit diagrams, however, PLC manufacturers nowadays also provide, and promote, the use of higher-level programming languages4. Based on techniques used in the development of high-level PC software to control PLCs for multiple telescopes, this paper examines the development of PLC programs to operate the hardware of a medical cyclotron beamline controlled from a PC using the Experimental Physics and Industrial Control System (EPICS), which is also widely used in telescope control. The PLC used is the new generation Siemens S7-1200 programmed using Siemens Pascal based Structured Control Language (SCL), which is their implementation of Structured Text (ST). The approach described is that from a software engineer's perspective, utilising Siemens Totally Integrated Automation (TIA) Portal integrated development environment (IDE) to create modular PLC programs based upon reusable functions capable of being unit tested without the PLC connected to hardware. Emphasis has been placed on designing an interface between EPICS and SCL that enforces correct operation of hardware through stringent separation of PC accessible PLC memory and hardware I/O addresses used only by the PLC. The paper also introduces the method used to automate the creation, from the same source document, the PLC memory structure (tag) definitions (defining memory used to access hardware I/O and that accessed by the PC) and creation of the PC program data structures (EPICS database records) used to access the permitted PLC addresses. From direct experience this paper demonstrates the advantages of PLC program development being shared between electronic and software engineers, to enable use of the most appropriate processes from both the perspective of the hardware and the higher-level software used to control it.
机译:在大型物理实验的控制中普遍使用可编程逻辑控制器(PLC)。这些控制器的编程通常是具有电子背景的工程师的领域,本文从软件工程师的角度介绍PLC程序的开发。 PLC程序提供了在PC体系结构系统上运行的控制软件与由数字和模拟信号控制和监视的物理硬件之间的链接。 PC上运行的高级软件通常负责接受操作员的输入,并由此决定何时以及如何控制连接到PLC的硬件。 PLC接受PC的需求,考虑其连接硬件的当前状态,如果正确(基于互锁或其他约束),则根据PC的需求调整其硬件输出信号。已发布的ICD(接口控制文档)定义了可供PC读写的PLC存储器位置,以控制和监视硬件。从历史上看,对PLC进行编程的方法一直是与电路图非常相似的梯形图,但是,如今的PLC制造商也提供并促进了高级编程语言的使用4。基于高级PC软件开发中用于控制多台望远镜PLC的技术,本文研究了PLC程序的开发,以操作使用实验物理和工业控制系统从PC控制的医用回旋加速器束线的硬件( EPICS),也广泛用于望远镜控制中。使用的PLC是新一代Siemens S7-1200,使用基于西门子Pascal的结构化控制语言(SCL)进行编程,这是它们对结构化文本(ST)的实现。所描述的方法是从软件工程师的角度出发,利用西门子全集成自动化(TIA)门户集成开发环境(IDE)来创建基于可重用功能的模块化PLC程序,这些功能可在不将PLC连接到硬件的情况下进行单元测试。重点放在设计EPICS和SCL之间的接口上,该接口通过严格分隔PC可访问的PLC存储器和仅由PLC使用的硬件I / O地址来强制硬件的正确操作。本文还介绍了用于从同一源文档自动创建PLC内存结构(标签)定义(定义用于访问硬件I / O的内存和由PC访问的内存)以及创建PC程序数据的方法。用于访问允许的PLC地址的结构(EPICS数据库记录)。本文从直接的经验中展示了电子和软件工程师之间共享PLC程序开发的优势,从而从硬件和用于控制它的更高级软件的角度出发,都能够使用最合适的过程。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号