CN112783015A - 可编程i/o安全控制器、编程装置、设备、介质和系统 - Google Patents
可编程i/o安全控制器、编程装置、设备、介质和系统 Download PDFInfo
- Publication number
- CN112783015A CN112783015A CN201911094806.0A CN201911094806A CN112783015A CN 112783015 A CN112783015 A CN 112783015A CN 201911094806 A CN201911094806 A CN 201911094806A CN 112783015 A CN112783015 A CN 112783015A
- Authority
- CN
- China
- Prior art keywords
- output
- logic
- input
- programmable
- programming
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/21—Pc I-O input output
- G05B2219/21085—Define type of I-O, analog, digital, pulse
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
Abstract
本申请提供的一种可编程I/O安全控制器、编程装置、设备、介质和系统。其包括:输入电路,用于将获取到的开关信号转化为输入信号;预存储有逻辑控制程序的控制电路,用于运行所述逻辑控制程序,并依据接收的所述输入信号进行逻辑运算以输出相应控制信号;电源电路,用于提供多个不同电压值的供电电压;输出电路,用于依据所述控制信号控制所述供电电压,并得到相应的输出信号,将所述输出信号转换为电压信号反馈至所述控制电路,以供其进行电压诊断。本申请可以实现输入输出的逻辑控制,无需采用通用的安全平台,仅采用普通的单片机,便能满足开发要求。
Description
技术领域
本申请涉及可编程I/O安全控制器技术领域,特别是涉及一种可编程I/O安全控制器、编程装置、设备、介质和系统。
背景技术
安全I/O模块是一种用于工业安全控制领域,它接收来自现场的安全传感器(如急停按钮,安全门,安全光幕,磁性开关等)的信号,接收来自安全PLC特定的逻辑处理,转化为输出信号,对现场的执行机构(如阀门、接触器、继电器等)进行控制。
常见的安全I/O模块一般是安全PLC的扩展,本身并不具备逻辑功能,在现场一般不能单独使用,在一些中小型的应用中,若直接采用安全PLC成本较高,且安全PLC开发成本和硬件成本较高,一般需借助于通用的安全平台(基本为国外公司拥有)进行开发,很多内部细节不开放,升级麻烦,特色功能开发具有难度。
发明内容
鉴于以上所述现有技术的缺点,本申请的目的在于提供一种可编程I/O安全控制器、编程装置、设备、介质和系统,用于解决现有技术中的至少一个问题。
为实现上述目的及其他相关目的,本申请提供一种可编程I/O安全控制器,其包括:输入电路,用于将获取到的开关信号转化为输入信号;预存储有逻辑控制程序的控制电路,用于运行所述逻辑控制程序,并依据接收的所述输入信号进行逻辑运算以输出相应控制信号;电源电路,用于提供多个不同电压值的供电电压;输出电路,用于依据所述控制信号控制所述供电电压,并得到相应的输出信号,将所述输出信号转换为电压信号反馈至所述控制电路,以供其进行电压诊断。
于本申请的一实施例中,所述控制电路包括第一微控制单元和第二微控制单元。
于本申请的一实施例中,所述第一微控制单元和第二微控制单元包括以下接口:I/O接口,用于分别与所述输入电路、及所述输出电路接连,以构成双输入通道、及双输出通道;ADC接口,用于接收所述输出电路反馈的电压信号;UART接口,用于下载预设的逻辑控制程序;SPI接口,用于所述第一微控制单元与第二微控制单元之间的数据交换。
于本申请的一实施例中,所述第一微控制单元和第二微控制单元为单片机,其包括:存储器、及处理器;所述存储器用于存储逻辑控制程序;所述处理器运行逻辑控制程序。
于本申请的一实施例中,所述逻辑控制程序包括:逻辑运算和顺序控制、定时、计数、及算术运算中任意一种或多种。
于本申请的一实施例中,所述电源电路通过DC转换电路提供24V、12V、及3.3V中任意一种电压值的供电电压。
于本申请的一实施例中,所述输出电路通过电阻分压将电压信号反馈至所述第一微控制单元和/或所述第二微控制单元的所述ADC接口。
为实现上述目的及其他相关目的,本申请提供一种用于如上所述可编程I/O安全控制器的编程装置,应用于上位机,所述装置包括:编程模块,用于提供可视化编程界面以布局安全元件及逻辑连接;解析模块,用于将所述编程模块布局的所述安全元件及逻辑连接并转换为二进制程序代码,以供如上所述的可编程I/O安全控制器进行下载。
于本申请的一实施例中,所述可视化编程界面包括:元件区,用于提供所述可编程I/O安全控制器支持的安全元件;逻辑块区,用于提供所述可编程I/O安全控制器支持的逻辑块;输入区,其对应所述可编程I/O安全控制器的输入,用于从所述元件区选择相应所述安全元件;逻辑区,用于从所述逻辑块区选择相应所述逻辑块,并与所述安全元件建立连接;输出区,其对应所述可编程I/O安全控制器的输出,用于设定包含输出类型及输出值的输出模块,并与所述安全元件和/或所述逻辑快建立连接。
于本申请的一实施例中,所述安全元件的类型包括:急停按钮、安全地毯、磁性开关、安全光幕、双手控制、及复位按钮中任意一种或多种。
于本申请的一实施例中,所述逻辑块的类型包括:与、或、非、延时断开、延时启动、同或、异或、双手控制、自动复位、上升沿复位、及下降沿复位中任意一种或多种。
于本申请的一实施例中,所述输出模块的类型包括:开关量输出模块、模拟量输出模块、及频率量输出模块中任意一种或多种。
于本申请的一实施例中,所述安全元件的输出端与所述逻辑块的输入端或所述输出区的输入端连接;所述逻辑块的输出端与所述输出区的输入端连接。
于本申请的一实施例中,所述解析模块包括:输入区间、逻辑区间、及输出区间。
于本申请的一实施例中,所述输入区间中通过INPUT_CHn数据结构体表征各所述安全元件;各所述INPUT_CHn数据结构体包含的变量为:由不同数值表示的不同类型的所述安全元件、及所述安全元件对应的输出值。
于本申请的一实施例中,所述逻辑区间中通过LOGIC_BLOCKn数据结构体表征各所述逻辑块;各所述LOGIC_BLOCKn数据结构体包含的变量为:由不同数值表示的不同类型的所述逻辑块、所述逻辑块输入端与输出端的连接地址、所述逻辑块的输出值、及所述逻辑块的x坐标与y坐标。
于本申请的一实施例中,所述输出区间中通过OUTPUT_CHn数据结构体表征各所述输出模块;各所述OUTPUT_CHn数据结构体包含的变量为:由不同数值表示的不同类型的所述输出模块、所述输出模块的输入端的连接地址、及所述输出模块的输出值
为实现上述目的及其他相关目的,本申请提供一种计算机设备,所述设备包括:存储器、及处理器;所述存储器用于存储计算机程序;所述处理器运行计算机程序实现如上所述编程装置的功能。
为实现上述目的及其他相关目的,本申请提供一种计算机存储介质,存储有计算机程序,所述计算机程序被运行时执行如上所述编程装置的功能
为实现上述目的及其他相关目的,本申请提供一种可编程I/O安全控制器编程系统,所述系统包括:如上所述的可编程I/O安全控制器、及如上所述的编程装置;其中,所述编程装置用于提供可视化编程界面以布局安全元件及逻辑连接,并转换为二进制程序代码;所述可编程I/O安全控制器用于在下载所述二进制程序代码后运行以实现输入输出的逻辑控制。
综上所述,本申请的一种可编程I/O安全控制器、编程装置、设备、介质和系统。其包括:输入电路,用于将获取到的开关信号转化为输入信号;预存储有逻辑控制程序的控制电路,用于运行所述逻辑控制程序,并依据接收的所述输入信号进行逻辑运算以输出相应控制信号;电源电路,用于提供多个不同电压值的供电电压;输出电路,用于依据所述控制信号控制所述供电电压,并得到相应的输出信号,将所述输出信号转换为电压信号反馈至所述控制电路,以供其进行电压诊断。
具有以下有益效果:
可以实现输入输出的逻辑控制,无需采用通用的安全平台,仅采用普通的单片机,便能满足开发要求。
附图说明
图1显示为本申请于一实施例中的可编程I/O安全控制器的电路示意图。
图2显示为本申请于一实施例中的编程装置的模块示意图。
图3显示为本申请于一实施例中的可视化编程界面的场景示意图。
图4显示为本申请于一实施例中的解析模块转换程序代码过程的流程示意图。
图5显示为本申请于一实施例中的计算机设备的结构示意图。
图6显示为本申请于一实施例中的可编程I/O安全控制器编程系统的结构示意图
具体实施方式
以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
下面以附图为参考,针对本申请的实施例进行详细说明,以便本申请所属技术领域的技术人员能够容易地实施。本申请可以以多种不同形态体现,并不限定于此处说明的实施例。
为了明确说明本申请,省略与说明无关的部件,对于通篇说明书中相同或类似的构成要素,赋予了相同的参照符号。
在通篇说明书中,当说某部件与另一部件“连接”时,这不仅包括“直接连接”的情形,也包括在其中间把其它元件置于其间而“间接连接”的情形。另外,当说某种部件“包括”某种构成要素时,只要没有特别相反的记载,则并非将其它构成要素排除在外,而是意味着可以还包括其它构成要素。
当说某部件在另一部件“之上”时,这可以是直接在另一部件之上,但也可以在其之间伴随着其它部件。当对照地说某部件“直接”在另一部件“之上”时,其之间不伴随其它部件。
虽然在一些实例中术语第一、第二等在本文中用来描述各种元件,但是这些元件不应当被这些术语限制。这些术语仅用来将一个元件与另一个元件进行区分。例如,第一接口及第二接口等描述。再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、步骤、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、步骤、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合。因此,“A、B或C”或者“A、B和/或C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A、B和C”。仅当元件、功能、步骤或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
此处使用的专业术语只用于言及特定实施例,并非意在限定本申请。此处使用的单数形态,只要语句未明确表示出与之相反的意义,那么还包括复数形态。在说明书中使用的“包括”的意义是把特定特性、区域、整数、步骤、作业、要素及/或成份具体化,并非排除其它特性、区域、整数、步骤、作业、要素及/或成份的存在或附加。
表示“下”、“上”等相对空间的术语可以为了更容易地说明在附图中图示的一部件相对于另一部件的关系而使用。这种术语是指,不仅是在附图中所指的意义,还包括使用中的装置的其它意义或作业。例如,如果翻转附图中的装置,曾说明为在其它部件“下”的某部件则说明为在其它部件“上”。因此,所谓“下”的示例性术语,全部包括上与下方。装置可以旋转90°或其它角度,代表相对空间的术语也据此来解释。
基于以上,本申请提出了一种可编程I/O安全控制器、编程装置、设备、介质和系统,可以实现可编程I/O安全控制器输入输出的逻辑控制,其无需采用通用的安全平台,仅采用普通的微处理器,如单片机,便能满足开发要求,配合上位机编程软件,对用户程序进行解析,并转化为程序代码下载到可编程I/O安全控制器中,可编程I/O安全控制器对这些程序代码进行解释运行。
如图1所示,展示本申请于一实施例中的可编程I/O安全控制器的电路示意图。如图所示,所述可编程I/O安全控制器100包括:
输入电路110,用于将获取到的开关信号转化为输入信号;
于本实施例中,所述输入电路110将开关信号进行转化为控制电路120可以识别的输入信号,具体可为高低电平。
预存储有逻辑控制程序的控制电路120,用于运行所述逻辑控制程序,并依据接收的所述输入信号进行逻辑运算以输出相应控制信号。
电源电路130,用于提供多个不同电压值的供电电压。
于本实施例中,电源电路130可通过DC转换电路提供24V、12V、及3.3V中任意一种电压值的供电电压。
输出电路140,用于依据所述控制信号控制所述供电电压,并得到相应的输出信号,将所述输出信号转换为电压信号反馈至所述控制电路120,以供其进行电压诊断。
具体地,所述输出电路140通过电阻分压将电压信号反馈至所述第一微控制单元121和/或所述第二微控制单元122的所述ADC接口,以供其用于过压欠压诊断诊断。
其中,所述输出信号包括但不限于:开关量输出,模拟量输出信号,频率量输出等。
于本申请的一实施例中,所述控制电路120包括第一微控制单元121和第二微控制单元122。
进一步地,所述第一微控制单元121和第二微控制单元122包括以下接口:
I/O接口,用于分别与所述输入电路110、及所述输出电路140接连,以构成双输入通道、及双输出通道;
ADC接口,用于接收所述输出电路140反馈的电压信号;
UART接口,用于下载预设的逻辑控制程序;
SPI接口,用于所述第一微控制单元与第二微控制单元之间的数据交换。
于本实施例中,所述第一微控制单元121和第二微控制单元122之间需要交换输入数据,输出数据,诊断数据,解释代码过程中的运行数据,进行实时比对,因此数据量较大,且实时性要求较高,需要达到较高的通讯速率,故本申请中第一微控制单元121和第二微控制单元122的数据交换是通过SPI接口(SPI可以达到较高的通讯速率)来完成。所述SPI接口为串行外设接口(Serial Peripheral Interface),是一种同步外设接口,它可以便单片机与各种外围设备以串行方式进行通信以交换信息。
程序代码的下载是通过外部编程接口传递给第一微控制单元121和/或第二微控制单元122的UART接口。通常通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART。它将要传输的资料在串行通信与并行通信之间加以转换。作为把并行输入信号转成串行输出信号的芯片,UART通常被集成于其他通讯接口的连结上。
第一微控制单元121/第二微控制单元122的I/O接口分别与所述输入电路110、及所述输出电路140接连,以构成双输入通道、及双输出通道,符合功能安全要求。
输出电路140的输出信号在转为电压信号后,需通过分压电路转化为模拟信号反馈给第一微控制单元121/第二微控制单元122的ADC接口,这符合ISO13849 Cat.4的架构要求。
需说明的是,本申请对第一微控制单元121/第二微控制单元122外设需求低,第一微控制单元121/第二微控制单元122的外设具有I/O接口、ADC接口、UART接口,SPI接口便能满足。
在一些实施例中,本申请中的微控制单元(Microcontroller Unit;MCU),又可称单片微型计算机(Single Chip Microcomputer)或者单片机,是把中央处理器(CentralProcess Unit;CPU)的频率与规格做适当缩减,并将内存(memory)、计数器(Timer)、USB、A/D转换、UART、PLC、DMA等周边接口,甚至LCD驱动电路都整合在单一芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。
于本申请的一实施例中,所述第一微控制单元121和第二微控制单元122优选为单片机,其包括:存储器、及处理器;所述存储器用于存储逻辑控制程序;所述处理器运行逻辑控制程序。例如,程序代码通过uart接口下载到所述存储器中,处理器对这些程序代码进行相应的解释运行。
于本申请的一实施例中,所述逻辑控制程序包括:逻辑运算和顺序控制、定时、计数、及算术运算中任意一种或多种。
于本实施中,所述控制电路120通过解释运行所述逻辑控制程序,能相应执行存储的逻辑运算和顺序控制、定时、计数、及算术运算操作等指令,并通过数字或模拟的输入(I)和输出(O)接口,控制各种类型的机械设备或生产过程。
如图2所示,展示本申请于一实施例中的用于如图1所述可编程I/O安全控制器的编程装置的模块示意图。其中,所述编程装置200应用于上位机。所述上位机是指可以直接发出操控命令的计算机,可以是PC/host computer/master computer/upper computer,屏幕上显示各种信号变化(液压,水位,温度等)。
如图所示,所述编程装置200包括:
编程模块210,用于提供可视化编程界面以布局安全元件及逻辑连接。具体可参考图3所示的可视化编程界面的场景示意图。所述可视化编程界面包括:
元件区211,用于提供如图1所述可编程I/O安全控制器支持的安全元件。
例如,用户可通过拖拽方式、按钮选择、文字选择等方式将所述安全元件放置输入区213。
于本申请的一实施例中,所述安全元件的类型包括但不限于:急停按钮、安全地毯、磁性开关、安全光幕、双手控制、及复位按钮中任意一种或多种。
逻辑块区212,用于提供所述可编程I/O安全控制器支持的逻辑块。
例如,用户可通过拖拽方式、按钮选择、文字选择等方式将所述逻辑块放置逻辑区214。
于本申请的一实施例中,所述逻辑块的类型包括但不限于:与、或、非、延时断开、延时启动、同或、异或、双手控制、自动复位、上升沿复位、及下降沿复位中任意一种或多种。
输入区213,其对应所述可编程I/O安全控制器的输入,用于从所述元件区选择相应所述安全元件。
于本实施例中,所述输入区213与如图1所述的可编程I/O安全控制器的输入电路对应,所述输入区213用于放置自定义放置所述元件区211中的安全元件,并设置安全元件相关参数及连接。其中,所述安全元件的输出端与所述逻辑块的输入端或所述输出区215的输入端连接。
逻辑区214,用于从所述逻辑块区212选择相应所述逻辑块,并与所述安全元件建立连接。
于本实施例中,所述逻辑区214用于放置自定义放置所述逻辑块区212的逻辑块,并设置安全元件相关参数及连接。其中,所述逻辑块的输出端与所述输出区215的输入端连接。
输出区215,其对应所述可编程I/O安全控制器的输出,用于设定包含输出类型及输出值的输出模块,并与所述安全元件和/或所述逻辑快建立连接。
于本申请的一实施例中,所述输出模块的类型包括但不限于:开关量输出模块、模拟量输出模块、及频率量输出模块中任意一种或多种。
解析模块220,用于将所述编程模块210布局的所述安全元件及逻辑连接并转换为二进制程序代码,以供如图1所述的可编程I/O安全控制器进行下载。
整体来说,所述上位机解析模块220将输入区213的安全元件的类型,摆放顺序,逻辑块的位置,逻辑块的类型,输入端连接,输出端连接,输出模块的输入端连接,解析为二进制程序代码,以便后续按照约定的格式及定义传到如图1所述可编程I/O安全控制器的存储器中。
于本申请的一实施例中,所述解析模块220包括:输入区间、逻辑区间、及输出区间。
于本申请的一实施例中,所述输入区中通过INPUT_CHn数据结构体表征各所述安全元件;各所述INPUT_CHn数据结构体包含的变量为:由不同数值表示的不同类型的所述安全元件、及所述安全元件对应的输出值。
于本实施例中,输入区间对应包括INPUT_CH1、INPUT_CH2、……INPUT_CHn,n个结构体,与如图1所述可编程I/O安全控制器的输入电路一一对应,每个结构体应包括3个变量:
1)sensor_type:安全元件的类型,不同的值对应不同的安全元件;
2)output_address:该输入安全元件输出端的连线地址;
3)output_value:该输入安全元件的输出值。
于本申请的一实施例中,所述逻辑区中通过LOGIC_BLOCKn数据结构体表征各所述逻辑块;各所述LOGIC_BLOCKn数据结构体包含的变量为:由不同数值表示的不同类型的所述逻辑块、所述逻辑块输入端与输出端的连接地址、所述逻辑块的输出值、及所述逻辑块的x坐标与y坐标。
于本实施例中,所述逻辑区间对应包括LOGIC_BLOCK1、LOGIC_BLOCK2、……LOGIC_BLOCKn,n个结构体,n的大小可以根据MCU的运行速度和存储空间大小进行设计,每个结构体可以包括以下变量:
1)logic_type:逻辑块的类型,不同的值对应不同的逻辑块;
2)logic_in1_add~logic_inX_add:逻辑块输入端的连线地址,不同类型的逻辑对应不同数量的输入端,输入端可以与输入区安全元件的输出端,逻辑块输出端连线;
3)output_value:该逻辑块的输出值;
4)axis_x:逻辑块在组态界面的x坐标;
5)axis_y:逻辑块在组态界面的y坐标。
于本申请的一实施例中,所述输出区中通过OUTPUT_CHn数据结构体表征各所述输出模块;各所述OUTPUT_CHn数据结构体包含的变量为:由不同数值表示的不同类型的所述输出模块、所述输出模块的输入端的连接地址、及所述输出模块的输出值。
于本实施例中,所述输出区对应包括OUTPUT_CH1、OUTPUT_CH2、……OUTPUT_CHn,n个结构体,与如图1所述可编程I/O安全控制器的输出电路一一对应,每个结构体应至少包括3个变量:
(1)Output_type:输出的类型,不同的值对应不同的输出类型,如开关量输出,模拟量输出,频率量输出。
(2)Input_address:输出模块的输入端连线地址,可以与安全元件输出端连线,也可以与逻辑块的输出端连线
(3)Output_value:输出模块的输出值。
综上,由解析模块220可对输入区213每种类型的安全元件可自动转化编写一段程序代码,如图4所示,举例来说:
急停按钮对应程序代码Program_IN1,安全地毯对应程序代码Program_IN2,依次类推不同的安全元件对应程序代码Program_INX(x:1,2,3,4……n)。类似的逻辑区214每种类型的逻辑块,输出区215每种类型的输出块对应的程序代码Program_LOGICX,Program_OUTPUTX,这样做的好处在于当用户需要特殊功能,只需要增加相应的程序段,便能快速实现,升级方便。
还需说明的是,所述解析模块220按顺序进行解析转化,对应到如图1所述的可编程I/O安全控制器的运行方式时,其也按顺序执行,每执行到一个区间时,调用相应程序代码,(1)运行到INPUT_CH1,根据INPUT_CH1的Sensor_type调用程序池中与sensor_type相对应的Program_INX,以实际可编程I/O安全控制器的硬件输入采样值作为该Program_INX的输入值,运行Program_INX,并生成输出值存入INPUT_CH1的output_value;其余INPUT_CH的运行方式类似;
(2)运行到LOGIC_BLOCK1,根据LOGIC_BLOCK1的logic_type调用程序池中与logic_type相对应的Program_LOGICX,以LOGIC_BLOCK1的logic_in1_add,logic_in2_add,logic_inX_add地址对应的安全元件的输出值(INPUT_CHn的output_value)或其他逻辑块的输出值(LOGIC_BLOCKn的output_value)作为该Program_LOGICX的输入值,运行Program_LOGICX,并生成输出值存入LOGIC_BLOCK1的output_value;其余LOGIC_BLOCK的运行方式类似;
(3)运行到OUTPUT_CH1,根据OUTPUT_CH1的output_type调用程序池中与output_type相对应的Program_OUTPUTX,以OUTPUT_CH1的output_address地址对应的安全元件的输出值(INPUT_CHn的output_value)或其他逻辑块的输出值(LOGIC_BLOCKn的output_value)作为该Program_OUTPUTX的输入值,运行Program_OUTPUTX,并生成输出值存入OUTPUT_CH1的output_value,作为可编程I/O安全控制器的输出值。其余OUTPUT_CH的运行方式类似。
需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些单元可以全部以软件通过处理元件调用的形式实。
例如,解析模块220可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上解析模块220的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital signal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
如图5所示,展示为本申请于一实施例中的计算机设备的结构示意图。如图所示,所述计算机设备500包括:存储器501、及处理器502;所述存储器501用于存储计算机程序;所述处理器502运行计算机程序实现如图2所述装置的功能。
在一些实施例中,计算机设备500中的所述存储器501的数量均可以是一或多个,所述处理器502的数量均可以是一或多个,而图5中均以一个为例。
于本申请一实施例中,所述计算机设备500中的处理器502会按照如图1所述的步骤,将一个或多个以应用程序的进程对应的指令加载到存储器501中,并由处理器502来运行存储在存储器502中的应用程序,从而实现如图2所述编程装置的各种功能。
所述存储器501可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。所述存储器501存储有操作系统和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。操作系统可包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
所述处理器502可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在一些具体的应用中,所述计算机设备500的各个组件通过总线系统耦合在一起,其中总线系统出包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清除说明起见,在图5中将各种总线都成为总线系统。
于本申请的一实施例中,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如图2所述编程装置的功能。
所述计算机可读存储介质优选为非易失性计算机存储介质。
本领域普通技术人员可以理解:实现上述系统及各单元功能的实施例可以通过计算机程序相关的硬件来完成。前述的计算机程序可以存储于一计算机可读存储介质中。该程序在执行时,执行包括上述系统及各单元功能的实施例;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
如图6所示,展示为本申请于一实施例中的可编程I/O安全控制器编程系统的结构示意图。如图所示,所述可编程I/O安全控制器编程系统600包括:如如1所述的可编程I/O安全控制器601、及如图2所述的编程装置602;其中,所述编程装置602用于提供可视化编程界面以布局安全元件及逻辑连接,并转换为二进制程序代码,以向所述可编程I/O安全控制器601提供;所述可编程I/O安全控制器601用于在下载所述二进制程序代码后运行以实现输入输出的逻辑控制。
综上所述,本申请提供的一种可编程I/O安全控制器、编程装置、设备、介质和系统,可以实现输入输出的逻辑控制,无需采用通用的安全平台,仅采用普通的单片机,便能满足开发要求,配合上位机编程软件,对用户程序进行解析,并转化为程序代码通过uart下载,以对这些程序代码进行解释运行。
本申请有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本申请的原理及其功效,而非用于限制本申请。任何熟悉此技术的人士皆可在不违背本申请的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中包含通常知识者在未脱离本申请所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本申请的权利要求所涵盖。
Claims (20)
1.一种可编程I/O安全控制器,其特征在于,其包括:
输入电路,用于将获取到的开关信号转化为输入信号;
预存储有逻辑控制程序的控制电路,用于运行所述逻辑控制程序,并依据接收的所述输入信号进行逻辑运算以输出相应控制信号;
电源电路,用于提供多个不同电压值的供电电压;
输出电路,用于依据所述控制信号控制所述供电电压,并得到相应的输出信号,将所述输出信号转换为电压信号反馈至所述控制电路,以供其进行电压诊断。
2.根据权利要求1所述的可编程I/O安全控制器,其特征在于,所述控制电路包括第一微控制单元和第二微控制单元。
3.根据权利要求2所述的可编程I/O安全控制器,其特征在于,所述第一微控制单元和第二微控制单元包括以下接口:
I/O接口,用于分别与所述输入电路、及所述输出电路接连,以构成双输入通道、及双输出通道;
ADC接口,用于接收所述输出电路反馈的电压信号;
UART接口,用于下载预设的逻辑控制程序;
SPI接口,用于所述第一微控制单元与第二微控制单元之间的数据交换。
4.根据权利要求1所述的可编程I/O安全控制器,其特征在于,所述第一微控制单元和第二微控制单元为单片机,其包括:存储器、及处理器;所述存储器用于存储逻辑控制程序;所述处理器运行逻辑控制程序。
5.根据权利要求4所述的可编程I/O安全控制器,其特征在于,所述逻辑控制程序包括:逻辑运算和顺序控制、定时、计数、及算术运算中任意一种或多种。
6.根据权利要求1所述的可编程I/O安全控制器,其特征在于,所述电源电路通过DC转换电路提供24V、12V、及3.3V中任意一种电压值的供电电压。
7.根据权利要求3所述的可编程I/O安全控制器,其特征在于,所述输出电路通过电阻分压将电压信号反馈至所述第一微控制单元和/或所述第二微控制单元的所述ADC接口。
8.一种用于权利要求1至7中任意一项所述可编程I/O安全控制器的编程装置,其特征在于,应用于上位机,所述装置包括:
编程模块,用于提供可视化编程界面以布局安全元件及逻辑连接;
解析模块,用于将所述编程模块布局的所述安全元件及逻辑连接并转换为二进制程序代码,以供如权利要求1至7中任意一项所述的可编程I/O安全控制器进行下载。
9.根据权利要求8所述的编程装置,其特征在于,所述可视化编程界面包括:
元件区,用于提供所述可编程I/O安全控制器支持的安全元件;
逻辑块区,用于提供所述可编程I/O安全控制器支持的逻辑块;
输入区,其对应所述可编程I/O安全控制器的输入,用于从所述元件区选择相应所述安全元件;
逻辑区,用于从所述逻辑块区选择相应所述逻辑块,并与所述安全元件建立连接;
输出区,其对应所述可编程I/O安全控制器的输出,用于设定包含输出类型及输出值的输出模块,并与所述安全元件和/或所述逻辑快建立连接。
10.根据权利要求9所述的编程装置,其特征在于,所述安全元件的类型包括:急停按钮、安全地毯、磁性开关、安全光幕、双手控制、及复位按钮中任意一种或多种。
11.根据权利要求9所述的编程装置,其特征在于,所述逻辑块的类型包括:与、或、非、延时断开、延时启动、同或、异或、双手控制、自动复位、上升沿复位、及下降沿复位中任意一种或多种。
12.根据权利要求9所述的编程装置,其特征在于,所述输出模块的类型包括:开关量输出模块、模拟量输出模块、及频率量输出模块中任意一种或多种。
13.根据权利要求9所述的编程装置,其特征在于,所述安全元件的输出端与所述逻辑块的输入端或所述输出区的输入端连接;所述逻辑块的输出端与所述输出区的输入端连接。
14.根据权利要求8所述的编程装置,其特征在于,所述解析模块包括:输入区间、逻辑区间、及输出区间。
15.根据权利要求14所述的编程装置,其特征在于,所述输入区间中通过INPUT_CHn数据结构体表征各所述安全元件;各所述INPUT_CHn数据结构体包含的变量为:由不同数值表示的不同类型的所述安全元件、及所述安全元件对应的输出值。
16.根据权利要求14所述的编程装置,其特征在于,所述逻辑区间中通过LOGIC_BLOCKn数据结构体表征各所述逻辑块;各所述LOGIC_BLOCKn数据结构体包含的变量为:由不同数值表示的不同类型的所述逻辑块、所述逻辑块输入端与输出端的连接地址、所述逻辑块的输出值、及所述逻辑块的x坐标与y坐标。
17.根据权利要求14所述的编程装置,其特征在于,所述输出区间中通过OUTPUT_CHn数据结构体表征各所述输出模块;各所述OUTPUT_CHn数据结构体包含的变量为:由不同数值表示的不同类型的所述输出模块、所述输出模块的输入端的连接地址、及所述输出模块的输出值。
18.一种计算机设备,其特征在于,所述设备包括:存储器、及处理器;所述存储器用于存储计算机程序;所述处理器运行计算机程序实现如权利要求8至17中任意一项所述编程装置的功能。
19.一种计算机存储介质,其特征在于,存储有计算机程序,所述计算机程序被运行时执行如权利要求8至17中任意一项所述编程装置的功能。
20.一种可编程I/O安全控制器编程系统,其特征在于,所述系统包括:如权利要求1至7中任意一项所述的可编程I/O安全控制器、及如权利要求8至17中任意一项所述的编程装置;
其中,所述编程装置用于提供可视化编程界面以布局安全元件及逻辑连接,并转换为二进制程序代码;所述可编程I/O安全控制器用于在下载所述二进制程序代码后运行以实现输入输出的逻辑控制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911094806.0A CN112783015A (zh) | 2019-11-11 | 2019-11-11 | 可编程i/o安全控制器、编程装置、设备、介质和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911094806.0A CN112783015A (zh) | 2019-11-11 | 2019-11-11 | 可编程i/o安全控制器、编程装置、设备、介质和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112783015A true CN112783015A (zh) | 2021-05-11 |
Family
ID=75749719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911094806.0A Pending CN112783015A (zh) | 2019-11-11 | 2019-11-11 | 可编程i/o安全控制器、编程装置、设备、介质和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112783015A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101373494A (zh) * | 2008-09-28 | 2009-02-25 | 武汉华瑞测控科技有限公司 | 基于dsp芯片的开发系统 |
CN102950595A (zh) * | 2012-10-31 | 2013-03-06 | 常州数控技术研究所 | 工业机器人的编程系统和方法 |
CN103425312A (zh) * | 2012-06-11 | 2013-12-04 | 上海理工大学 | 一种基于arm的触摸屏文件编译和解码方法 |
CN106502095A (zh) * | 2016-10-27 | 2017-03-15 | 福州大学 | 一种多工业机器人的协同控制方法 |
CN106773887A (zh) * | 2015-11-24 | 2017-05-31 | 沈阳新松机器人自动化股份有限公司 | 一种用于机器人的可编程io安全控制器 |
CN107844093A (zh) * | 2016-09-18 | 2018-03-27 | 南京南瑞继保电气有限公司 | 一种基于元件模型的自定义功能块及组态封装方法 |
CN109947040A (zh) * | 2019-02-22 | 2019-06-28 | 信联科技(南京)有限公司 | 一种基于开放系统的安全智能可编程逻辑控制器及应用 |
-
2019
- 2019-11-11 CN CN201911094806.0A patent/CN112783015A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101373494A (zh) * | 2008-09-28 | 2009-02-25 | 武汉华瑞测控科技有限公司 | 基于dsp芯片的开发系统 |
CN103425312A (zh) * | 2012-06-11 | 2013-12-04 | 上海理工大学 | 一种基于arm的触摸屏文件编译和解码方法 |
CN102950595A (zh) * | 2012-10-31 | 2013-03-06 | 常州数控技术研究所 | 工业机器人的编程系统和方法 |
CN106773887A (zh) * | 2015-11-24 | 2017-05-31 | 沈阳新松机器人自动化股份有限公司 | 一种用于机器人的可编程io安全控制器 |
CN107844093A (zh) * | 2016-09-18 | 2018-03-27 | 南京南瑞继保电气有限公司 | 一种基于元件模型的自定义功能块及组态封装方法 |
CN106502095A (zh) * | 2016-10-27 | 2017-03-15 | 福州大学 | 一种多工业机器人的协同控制方法 |
CN109947040A (zh) * | 2019-02-22 | 2019-06-28 | 信联科技(南京)有限公司 | 一种基于开放系统的安全智能可编程逻辑控制器及应用 |
Non-Patent Citations (2)
Title |
---|
刘君等: "《计算机测控技术》", 30 June 2009, 西安电子科技大学出版社 * |
梅国宏等: "《铁路行车安全装备》", 30 June 2015, 中国铁道出版社 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7287112B1 (en) | Dynamic reconfiguration interrupt system and method | |
US7631232B2 (en) | Parallel burning system and method | |
CN104020704B (zh) | I/o口模拟spi接口的迷你嵌入式控制器装置和方法 | |
CN103853383B (zh) | 一种在Uboot中实现触摸屏驱动的方法 | |
CN105740139B (zh) | 一种基于虚拟环境的嵌入式软件调试方法 | |
US10789192B2 (en) | System and method for programming data transfer within a microcontroller | |
CN114237676B (zh) | 一种fpga逻辑更新方法、装置、设备及可读存储介质 | |
CN104182314A (zh) | 一种提高龙芯处理器服务器主板可维护性方法 | |
CN112783015A (zh) | 可编程i/o安全控制器、编程装置、设备、介质和系统 | |
CN101770434A (zh) | 一种pci设备中不同功能单元切换的方法及系统 | |
CN105378650B (zh) | 用于控制处理模块的操作模式的方法和装置 | |
CN103777976A (zh) | 单片机及其在线升级方法和在线升级装置 | |
CN208873142U (zh) | 一种fpga开发板 | |
CN110767264A (zh) | 一种数据处理方法、装置和计算机可读存储介质 | |
CN105183514A (zh) | 一种刷机模式选择方法及电子装置 | |
CN103809995A (zh) | 单片机及其在线升级方法和在线升级装置 | |
CN103135728A (zh) | 电源开机控制方法及其系统 | |
CN205485449U (zh) | 一种dnc信息采集系统 | |
CN204595522U (zh) | 控制设备的薄膜键盘系统 | |
CN111061677B (zh) | Fpga配置方法、装置以及fpga器件 | |
CN204789806U (zh) | 汽车电子测试诊断工具 | |
CN114253781A (zh) | 测试方法、装置、设备及存储介质 | |
CN111037057A (zh) | 焊机人机交互系统与焊机 | |
CN210776653U (zh) | 通过可编程逻辑芯片制作的通用型SoC开发板 | |
CN107220053B (zh) | 一种bios管理方法及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210511 |
|
RJ01 | Rejection of invention patent application after publication |