找回密码
 注册
关于网站域名变更的通知
查看: 509|回复: 2
打印 上一主题 下一主题

[毕业设计] 基于单片机的集散控制系统下位机控制模块的调度设计

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-1-14 10:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
以MCS- -51单片机为硬件系统,基于操作系统的思想,设计了命令进程调用、控制模块数据结构、控制模块队列,选择4 X: V- T5 B; e; T
先来先服务调度算法,实现了集散控制系统下位机控制模块的调度。9 j4 u% N7 H" h; q; b) k. {7 X
1组态生成方式的选择
6 Q3 i" M/ R- \7 w0 |% B在集散控制系统(DCS)中,各个控制算法是以控制模块的3 O  G1 t5 [3 k
形式提供给用户,而用户可以利用系统所提供的模块,用组态软6 B: O7 w2 \# _- I4 G. g$ a5 R
件生成自己所需的控制策略,并将该控制策略下装到现场控制: r, y" m1 x4 \8 k
站去运算执行。目前国际上流行的DCS中,控制算法的组态生
  b# e  ~; a# C成在软件.上可以分为两种方式:一种方式是在上位机中采用模
8 j& D0 a+ q& b" ]! _- ]块宏的方式,即一个控制规律模块对应- - 个宏命令(子程序)。在
# _# ^: H( [% O* S组态生成时,每用到一个控制模块,在产生的执行文件中就将该
* r: e5 n  n) I7 d& ^6 c: g宏所对应的算法换入执行文件,将最终生成的执行文件下装到
" B$ q; \4 m4 a) c: ~6 N下位机。另一种方式是将各控制算法编制成各个独立的可以反
% F" V. N2 M' L& k1 l复调用的功能模块,对应每-模块有一个数据结构,该数据结构
8 Y# ^. p% B; i" d7 Z8 k定义了该控制算法所需的各个参数,这些模块存储在下位机中,
' e( n: A6 \2 `由下位机的OS根据组态下发的命令进行调用,最终形成控制6 e$ q6 n, j" m
指令输出。比较这两种方式,后一种方式具有明显的优点:% `+ g0 G0 u: @% c
1)下位机接收的代码是经上位机组态后生成的与CPU无关.' {* T  m# t1 ]3 }
的中间代码,在下位机硬件系统升级或发生变动时,上位机的软. h- |7 l( ], M2 K) g, z8 S3 C
件系统不受影响,易于系统扩展。8 V4 [) m( \4 \0 S1 m
2)随着单片机技术的发展,存储器的容量问题已不再是制& }* G5 z, o7 k- L$ F
约系统开发的主要因素。因而,前一种方式中占用存储空间少的
% S9 k8 W; h) {优点不再突出。6 M4 j; y% r) t) c, V5 E: w. V0 ?
本文基于后-种组态生成方式,讨论在MCS-51单片机上
8 f1 I8 B' C' z- b  v实现控制模块调度的方法,并详细分析了该调度策略的特点。
) ]0 k; ^# @5 k9 R) S* L2下位机命令进程的调用
8 D2 }1 Z% P! V3 ^2 c要实现下位机的监测与控制功能,至少应设置五类命令进4 b: v9 j0 t. K. q
程,分别为:手动读点、手动写点、停止运行、自动运行和修改参
. v- K8 y0 a0 O4 J8 }数。在系统进入正常运行后,接收到这些命令进程的调用命令,
! x, Q* z( z" T. A: c根据这些任务的紧要程度不同,可以将它们划分为两类:
$ m# |) t. l$ K5 S) o. u6 q1)实时性要求非常强,接收到命令后,要立即对其进行命令5 e: i$ g' p. S! Z1 r- Z
解释并执行,如停止运行命令。
$ e9 U. f/ L: l8 h9 w: Y+ G2)实时性要求略差-点,接收到命令后,允许等待一段时
) }: [. E# N1 X# i5 _间,再对其进行命令解释并执行,如手动读点、手动写点、自动运
6 J- L. V/ B$ H; D  @6 B% m- }; Q行和修改参数命令。$ B! x3 S8 ^7 y, a7 D& }, u
当系统进入正常运行,在控制模块运行过程中,若上位机发- B/ A6 h3 D, M
出新的命令,下位机进入通信中断接收程序,接收数据存放后,5 n7 |2 u0 p( R3 Z5 l# v
中断返回到当前运行的控制模块程序中。这时,对实时性要求非
/ U* {5 R. f4 D, ?3 w- g; x6 {2 f9 _常强的命令,如果把当前正在运行的控制模块进程的信息进行# @0 L5 \# [  B2 S
存储,转要府接敢到的系统调用,对51单片机系统,由于其内5 `2 E  [0 R" n' _

7 m9 q) o; z0 \/ `1 h$ n7 R部存储器容量很少,从外部数据存储器存取数据需要占用较长
" A' i* c) s2 D$ w. H! o3 C: o时间,这样就不能保证命令执行的实时性。因此,将停止运行命" M; I2 D5 N' x3 l3 F- h
令的调用放在通信中断接收程序中,接收数据存放后,对接收到
- M0 w8 {: `: g的命令进行判断,如果命令是停车命令,将立刻执行,执行结束
  V& z) X+ p' }后再中断返回,利用硬件中断保证其任务的实时性,调用过程如
# A/ i- `/ B+ W+ k5 m. G图1所示。. o( O# L2 J4 ~2 d
3 U5 M: @: x" y+ m0 P/ M0 ?$ {
附件下载:
游客,如果您要查看本帖隐藏内容请回复
1 y9 O7 K8 Z' K! h( t

该用户从未签到

2#
发表于 2020-1-15 11:28 | 只看该作者
MCS- -51单片机可以模块化设计
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-1 20:14 , Processed in 0.140625 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表