您好,欢迎来到亚洲制造网!请 |免费注册

产品展厅本站服务收藏该商铺

东莞市宇匠数控设备有限公司

免费会员
手机逛
15814747355
东莞市宇匠数控设备有限公司

Technical article

技术文章

当前位置:东莞市宇匠数控设备有限公司>>技术文章>>软PLC运行系统的任务划分及实现

软PLC运行系统的任务划分及实现

发布时间:2025/8/540

              3.2软PLC运行系统的任务划分及实现

2.4节可知,本软PLC运行系统由通信接口模块、系统管理模块、程序执 行模块、存储模块和I/O接口模块五个模块组成,每个模块用于完成指定功能。 根据软PLC运行系统的工作原理对每个模块的任务进行了划分:

与软PLC开发系统的通讯任务、与软CNC的通讯任务、与HMI界面的通 讯任务、普通程序执行任务、快速程序执行任务、用户程序存储任务、指令存储 任务、数据存储任务和I/O读、写任务以及系统管理任务,软PLC运行系统任 务组成如图3.1所示。

3. 2. 1系统管理模块

系统管理模块是软PLC系统的控制核心。软PLC运行系统启动后首先

进入系统管理模块,利用InitialPLCObjectsG函数定义并初始化PLC全局对象, 接着创建任务管理线程JobSchedulerThread和其它任务线程,在任务管理线程 JobSchedulerThread调度下各任务线程顺序执行。当用户程序循环结束后,系统 管理模块删除所有任务对象、事件句柄、释放内存空间等计算机资源,对应工作 流程如图3.3所不。

3. 2. 2程序执行模块

 

程序执行模块通过解释和执行PLC指令函数完成相应的逻辑运算,分为快 速程序执行和普通程序执行两个子模块。前者用于处理实时性要求较高的信号, 如急停信号、限位开关信号等等,执行周期5ms;后者则用来处理一般的循环扫 描任务,执行周期20ms它们是两个独立的任务线程,执行指令函数的流程相 同:先从指令存储模块读取PLC指令、判断指令类型,接着调取软PLC指令函 数进行运算,最后将运算结果保存在数据存储模块,然后循环执行指令,当执行 END指令后退出循环,完成一次用户扫描程序,执行流程如图3.4所示。


3. 2. 3通讯接口模块

 

通讯接口模块是数控应用程序之间通讯的通道用于软PLC运行系统与开 发系统、软CNC人机界面HMI以及其它第三方程序的数据交换。其中软PLC

运行系统与开发系统采用COM^COM方式进行通讯,即开发系统作为客户端向 运行系统发送用户程序,运行系统作为服务器端接收用户程序并反馈软PLC的 运行状态。

PLC运行系统与软CNC人机界面HMI是数控程序中的三个进程,它们 通过访问软PLC运行系统创建的共享内存区PLC_CNCBufferPLC_HMIBuffer 进行数据交换。由于软PLC运行系统和软CNC都是运行在RTSS环境下两个进 程,所以利用RTX提供的IPC (进程通讯对象)可实现数据通讯任务;而人机 界面HMI是运行在Win32环境下的非实时应用程序,它与软PLC运行系统是不 同控制内核下的两个进程,由于Win32进程优先级低于任何一个RTX进程,所 以在软PLC运行系统启动后人机界面HMI进程无法获得CPU资源将数据写入 共享内存PLC_HMffiuffer因此需要解决Win32程序与RTX程序CPU资源的 分配问题,通常有以下两种方法:

              定时分配CPU资源

定时分配CPU资源是指定一个事件,一旦触发该事件RTX子系统就中断在 正在运行的软PLC任务线程,将CPU资源让给Win32环境下的应用程序,使人 机界面进程将数据写入共享内存PLC_HMffiuffer中。中断事件对象由软PLC运 行系统利用函数RtCreateEvent创建,中断等待的时间由用户设置。

              使用互斥体对象

互斥体对象是操作系统内核的一种数据结构,只允许获得该对象的任务线程 访问共享资源。利用互斥这一特性,首先在人机界面HMI程序中利用函数 RtCreateMutexG创建一个互斥体对象,虽然软PLC运行系统的优先级高于人机 界面HMI进程,但软PLC任务线程无法访问共享内存PLC_HMIBuffer中数据, 必须等待HMI线程调用RtCloseHandleO函数释放掉互斥对象句柄 h_mutexHMIPLC后才能访问该区域,在等待的这个时间片内Win32应用程序获 得CPU资源,人机界面HMI线程将数据写入共享内存PLC_HMIBuffer,并读取 软PLC给人机界面的数据,显示在人机界面上。

相比较定时分配CPU资源,使用互斥体对象等待的时间由操作系统分配, 占用软PLC循环扫描的时间较少,因此本软PLC运行系统采用互斥体对象实现 软PLC与人机界面HMI之间的通讯任务。

由于通讯过程类似,这里仅以软PLC运行系统与人机界面HMI的通讯为例 说明其执行流程,如图3.5所示。

3. 2.4 I/O接口模块

I/O接口模块是软PLC系统与外部I/O输入输出模块进行数据交换的通道用于将I/O输入输出模块采集到的机床信号读入软PLC输入映像区同时将输 出映像区中状态输出给I/O端口。其执行过程分为两步:,根据软PLC数 据存储区中I/O端子分配表与对应物理节点变量建立映射关系,完成端口配置; 第二,调用I/O接口模块的读写任务线程,在输入刷新和输出刷新阶段完成与外 部I/O输入输出模块的数据交换。

PLC系统采用SoftSERCANS被动式主站卡作为作为数控系统的接口,所 以I/O输入输出模块先将采集到的数据信息存储在SERCOS I/O从站,由从站向 主站发送中断请求,将数据包发送给主站,软PLCI/0接口模块通过读写 SoftSERCANS被动式主站卡双口存储区中数据与外部I/O模块进行数据交换, 本文第四章对软PLC控制系统接口进行了详细的分析,这里只给出它们数据传递过程。

3. 2. 5存储模块

存储模块存储了软PLC运行系统中所有的数据、操作指令和数据地址 表示为存储模块=数据地址+数据+操作指令因此分为用户程序存储 区、数据存储区和指令存储区。

在执行用户程序前,程序执行模块将每一个软元件的信息存储到指令链表中 供执行程序时调用。

                  数据存储区

数据存储区保存了所有软元件的状态,按照数据的来源分为:输入映像区(I)、 输出映像区(Q)PLC内部存储区(R)定时器区(T)计数器区(A)本地通讯 存储区(L)HMI通讯存储区(P)CNC通讯存储区(C),每个区域所包含的信息 见表3.1

 

3.1PLC运行系统数据存储区 Table 3.1 Data store of SoftPLC running system

 

数据类型

 

标识符

 

含义

 

功能

 

unsigned char

 

I

 

输入映像区

 

存储所有输入软元件的状态

 

unsigned char

 

Q

 

输出映像区

 

存储所有输出软元件的状态

 

unsigned char

 

R

 

内部存储区

 

存储软PLC内部的数据

 

unsigned char

 

T

 

定时器区

 

存储定时器的数据

 

unsigned char

 

A

 

计数器区

 

存储计数器的数据

 

unsigned char

 

L

 

本地通讯存储区

 

存储与Sercos的通信数据

 

unsigned char

 

P

 

HMI通讯存储区

 

存储与人机界面HMI的通信数据

 

unsigned char

 

C

 

CNC通讯存储区

 

存储与软CNC的通信数据


PLC运行系统以结构体的形式为每个存储区域分了配内存空间,除软PLC 内部存储区、输入映像区、输出映像区外,其余每个存储区域有256个软逻辑位供外部的物理元件使用。以本地通讯存储区为例它存储了软PLCSercos 通讯数据。

(3)指令存储区

指令存储区存储了软PLC系统的全部指令函数,当执行用户程序时,系统 从指令库中调取操作函数完成对操作数的运算,有关软PLC指令的设计与实现 详见本章第四节。

 

本文采摘自“五轴数控加工中心软PLC控制系统的研究”,因为编辑困难导致有些函数、表格、图片、内容无法显示,有需要者可以在网络中查找相关文章!本文由伯特利数控整理发表文章均来自网络仅供学习参考,转载请注明!

标签关键词:

上一篇: PLCI/O接口软件设计

下一篇: 软PLC指令系统设计

在线询价

X

已经是会员?点击这里 [登录] 直接获取联系方式

会员登录

X

请输入账号

请输入密码

=

请输验证码

收藏该商铺

X
该信息已收藏!
标签:
保存成功

(空格分隔,最多3个,单个标签最多10个字符)

常用:

提示

X
您的留言已提交成功!我们将在第一时间回复您~