西门子6ES7321-7BH01-0AB0千万库存
  • 西门子6ES7321-7BH01-0AB0千万库存
  • 西门子6ES7321-7BH01-0AB0千万库存
  • 西门子6ES7321-7BH01-0AB0千万库存

产品描述

产品规格模块式包装说明全新

西门子6ES7321-7BH01-0AB0千万库存


电气设备体积大、故障率高、维修量大、工作效率低。由于系统对四级皮带运输机的自动控制要求比较高,近期采用可编程控制器(PLC)对此系统进行技术改造,与接触器相结合进行控制,解决了传统继电器接触器控制的诸多问题。新系统具有体积小,故障少,接线简单,安装维护方便,抗干扰能力强,运行等特点。

1 系统功能

1.1 系统组成

热电站装机容量13000KVA,全部采用煤发电,安装了四台大型锅炉,小的75吨,大的165吨,燃煤量大,运输皮带长,级数多,运输控制保护闭锁多。

热电站燃料准备系统主要有桥式抓斗起重机、给煤机、皮带输送机、皮带鼓风机、除铁器、刮板输送机、棒条筛、环锤式破碎机、煤位传感器、锅炉位置开关等组成。图1为四级皮带运输系统框图。

1.2 控制要求

热电站燃料准备系统,是一个大型的皮带运输系统,工作任务重,带锅炉多,用煤量大,上燃料的性、性、准确性、及时性,直接关系和影响着全厂的供电质量和生产效益,所以这套系统在运作过程中的性。

要求皮带运输系统从后一条皮带按四、三、二、一逆序启动,加的互锁环节。条皮带都是气垫式皮带运输机,在皮带启动前要求启动它们各自的鼓风机,把皮带吹起,以减小皮带运行时的摩擦,如果鼓风机没有开动,不允许皮带开动,皮带和鼓风机之间要加互锁。四号配仓皮带给锅炉下料,用电动推杆犁式卸料器进行手动和自动下料控制。



用煤流传感器、行程开关控制皮带运行时间。为了提高了系统运行的性,正常运行时进行集中自动控制,在故障或特殊情况时可以现场手动控制。

在每级皮带上都装有除铁器,由于煤中混有杂物,如铁器、易燃易爆的金属物质,特别是,若随煤混进锅炉,将会引起爆炸等危险事故的发生。外面是铁皮裹着,除铁器可以对其起作用,阻止等进入锅炉,引起事故,造成不必要的损失。所以除铁器不开动,皮带不允许开动。

皮带运输机没有开动,不允许开振动给煤机,若给煤机先开,会压死皮带,使其无法正常启动。同样,振动给煤机没有开动,不能启动抓斗起重机往给煤机中送煤,否则会压死给煤机,使其无法启动。

两台振动给煤机,一台正常使用一台备用,相互立不可同时开,要求加互锁。

所有的皮带运输机设备都运作起来后,系统正常工作,使用自动下料,电动推杆犁式卸料器动作抬起放下,要靠锅炉的位置开关控制,自动抬起放下。出现故障,使用手动下料,加一个手动电葫芦使电动推杆犁式卸料器动作抬起放下。

系统要求皮带按一、二、三、四顺序停车,在皮带上装有煤流传感器,要求煤流传感器精度要高,当煤流走完后,通过煤流传感器把皮带停下来。先停给煤机,再停一号皮带,按煤流走完的顺序停皮带,上一级皮带煤流未走完,下一级皮带不允许停下,不能误动作,加必要的互锁保护。

在考虑集中控制的同时,也要考虑现场控制,以免现场发生故障,不能停车,要设现场故障停车开关。设有故障检测及报警系统,对皮带运输机运行状况进行监控,若系统某一部分发生故障,要有报警信号,传入控制室,运行设备在室设指示灯,正常运行工作,指示灯亮;故障时指示灯闪烁,电铃响;停止状态指示灯灭。

2 系统硬件设计

2.1 气垫带式输送机

采用气垫带式输送机,既将通用带式输送机的支承托辊去掉,改用设有气室的盘槽。

由于气垫带式输送机没有滚筒和承载托辊及其阻力,由盘槽上的气孔喷出的气流在盘槽和输送带之间形成非接触支承气膜,在通过盘槽时不出现挠曲和摩擦,从而显著地减小了摩擦损耗,气垫输送带的磨损和撕裂现象比槽形托辊输送带少得多,有效地克服了通用带式输送机的接触支承缺点,因此摩擦力小。功率消耗比普通带式输送机低,也不需要换和修理托辊费用。不发生盘槽与输送机接触而损坏胶带的现象,鼓风机的维修费仅为槽形托辊修费的一小部分,控制设备也较为简单。

2.2 PLC选型

用PLC进行控制,外围设备少,占地空间小,是实现的良好设备,三菱可编程控制器(PLC)功能强,控制精度高,运行速率快,控制功能性好,可以较好地实现集中控制和就地分散控制。

现场的输入信号有起动、停止、煤流传感、南北线选择、锅炉位置、自动卸料、卸料器抬起和放下位置、给煤机选择等20个;输出信号有振动给煤机、皮带鼓风机、皮带除铁器、皮带运输机、棒条筛、破碎机、刮板输送机、卸煤器抬起和放下、故障报警、起动/停车预告等42个,为了减少成本并留有充分的余量,选基本单元FX2N-48MR和扩展单元FX2N-48ER。

3 系统软件设计

PLC常用的编程语言有梯形图语言(LD)、顺序功能图语言(SFC)和功能块语言(FBD),四级皮带输送机控制系统属于典型的顺序控制,所以主要采用顺序功能图(SFC)编程。图2为系统程序流程图。



顺序功能图主要采用步进梯形指令编程方式,为了编程方便,程序中采用了许多中间继电器进行程序的记忆、转换,同时程序中还使用许多内部定时器完成延时功能。

3.1 起动程序

,在准备工作时,把就地集中转开关闭合,北线开关闭合,给煤机选择开关闭合,要自动卸料,把自动卸料开关闭合,做好启动前准备工作。准备工作完备后,按下开车按钮,皮带运输机按编写好的程序在PLC的控制下一步步的启动。图3为起动程序流程图。

3.2 工作程序

当所有的设备启动后,皮带运输机就开始正常的运煤工作,自动卸料的电动推杆式卸料器在锅炉位置开关的控制下自动工作。

3.3 停止程序

工作完毕之后,锅炉注满了,按下停止按钮,然后皮带运输机按程序逐步停止。后所有设备全部停下,等待下一次的工作开始。



3.4 故障程序

在该四级皮带运输机的故障回路中用了下降沿微分输出指令,在设备正常工作时它遇到上升沿不起作用,当故障时设备停止运行,它就接通故障继电器线圈,使故障输出,故障报警,设备停止运行。在正常的停车情况下,它被停车预告输出断开无效,使其不误报故障。

若运行中出现故障,使某一设备不能正常运行,只要该设备因故障而停车,一个下降沿到了,就会接通PLC中的故障中间继电器,故障线圈闭合,把运行电路断开全部停车,发出故障报警声。等到故障解除然后恢复正常。

4 结语

综上所述,本系统方案不仅选择了成熟、的软/硬件,并充分考虑了系统的扩展性,符合控制管理一体化潮流,对今后控制功能和管理功能的扩充提供了很好的基础。本系统自投入运行以来,运行状态良好,自动化水平达到国内**业的水平,了良好的经济效益和社会效益。此项目的经济效益约20万元。

本系统的点主要有:改用气垫带式输送机,没有滚筒和承载托辊,减小了摩擦损耗和功率消耗;电气控制采用PLC与接触器结合,解决了传统的继电器接触器控制的诸多问题,提高了系统的抗干扰能力,降低了故障率,使运行。


监控系统的硬件配置为:上位机选用高性的微型计算机,扩展了Controller bbbb 支持卡3G8F7 CLK211-E, 配置有8套中型PLC OMRON C200HG,1套OMRON CS1H,8套小型PLC OMRON CQM1,8套CPM2A ,全部中型PLC和上位机通过Controller bbbb线缆通信单元CLK21和操作站上扩展的通信单元3G8F7-CLK21-E组成Omron Controller bbbb网络,小型PLC通过OMRON Protocol与相关功能间的中型PLC相联。OMRON公司的Controller bbbb网络是OMRON主要的FA(工厂自动化)级别的网络,是一种使用令牌总线通信的网络,网络中的每个节点都可作为主站进行数据的发送和接收。

通过设置数据链接,节点间可以自动交换预置区域内数据。该网络中控制通信的节点称为发牌单元,它控制令牌,检查网络和执行相关的任务。这种总线型拓扑结构具有大的灵活性,易于扩充和维护,满足了系统可扩展性要求。由于采用了分布式控制技术,可确保Controller bbbb网络不会因某个站点故障而崩溃,提高了系统的稳定性。本系统中采用屏蔽双绞线作为Controller bbbb网络的通信介质,整个网络由网桥分成两段,主要是为了满足其对通讯距离的要求,同时可适应以后扩展的需要。由于各节点距离较大,传输速率设为500kbps,可满足系统实时性要求。本控制方案全部选用中小型PLC,对主要的生产设备分散控制,同时利用网络将它们紧密联结,实现集中管理,降低了故障风险,提高了性,是一种经济可行的方案。

在取水及送水工艺段上,主要设备都为多台大型离心水泵和10kV高压直流电机,因此每一高压配电柜选用一台Sepam2000 (施耐德生产,于配电柜控制的小型PLC) 进行数据采集和控制,通过RS485接口连成网络,由控制室的OMRON C200HG中型 PLC利用OMRON Protocol协议与它们通讯,对其读写数据和进行统一调度,这样可以节省大量的数据采集电缆,而且当某台PLC发生故障时可以方便断开而不影响其他设备的正常生产。对于沉淀池排泥车的控制,由于排泥车在长达近百米的沉淀池上前后移动,因此其控制所用小型PLC利用电台与控制室间的C200HG通过RS232接口进行1:N通讯,电台型号为MDS-SA-24810,为直接数字调制解调电台,工作频率范围在2.4G~2.4835GHz,支持标准的异步通讯协议,工作稳定,协议同样采用OMRON Protocol,软件用OMRON-CX-Protocol编制。二期滤池选用多个小型PLC(OMRON CQM1H)分散控制,可以较好地解决因控制设备故障而造成全部滤池停产的问题。

程序结构

本系统全部设备的控制都由PLC来完成,PLC程序利用OMRON-CX-Programmer软件编制。在各工艺段及单体设备其控制程序亦相对立,部分相同的工艺采用子程序模式,因此程序结构比较简单,调试和维修方便。

人机界面

该系统人机界面以组态软件iFix3.0为平台开发,由若干个画面组成:总画面(水厂水处理工艺)、各系统工艺图、报警窗口等。为增加画面的可读性和可观赏性,主要画面均采用立体图形式(用3ds、flash等软件绘制),在画面的相关位置显示该设备的所有主要运行参数。设备的控制通过点击该设备进入,shift+鼠标左键可打开该设备的帮助文件,包括设备档案、运行规程等。iFix与OMRON PLC的通讯由OMRON的FinsGateway和Inbbtion 的驱动程序OMF或OMR完成,这是整个系统正常运行的关键。

■ 总画面:表现的是整个水厂的水处理工艺(立体图形式),从取水、投药、投氯、絮凝沉淀、过滤到供水。在相关位置显示水处理的各主要控制参数以及重要设备的主要控制参数,可以点击进入各分站。
■ 各系统工艺图:主要有取水工艺图、投矾工艺图、投氯工艺图、絮凝池、排泥车、滤池、送水工艺图、高低压配电图等。除配电图外,均采用立体图形式,画面直观醒目,而且能够表达比平面图丰富的信息。
■ 报警窗口:所有报警显示的同时,喇叭会一直响到确认为至。也可以按需要分类显示。
■ 设备控制参数设定:参数设定时会检查输入参数是否正确(错误参数不能输入)、参数有无正确下载至PLC,如果出错会操作人员。
■ 生产报表:分生产情况(设备运行参数)、生产统计两种报表。老系统没有生产情况报表,生产统计报表也不能正确生成。针对这种情况,我们修改了PLC程序,并且为节省存储空间和查询方便起见,将平时的生产数据都存放在历史数据库里,在需要时可即时生成报表。
■ 历史曲线:可查询全厂所有主要运行参数的历史情况。为便于设备运行情况分析,可以在同一画面下同时显示设备的历史运行情况与当前的运行情况以作对比。
■ 为防止设备控制出错,所有设备分别有中控(中控室上位机控制)、现控(现场车间上位机控制)、自动、就地(设备不受PLC控制)4种控制方式,可以随需要随时转换。
■全厂的所有工作站都可看到全厂的运行情况。

结束语

本项目是由工业计算机和中小型PLC组成的集散型控制系统,在计算机上能实现对全厂生产设备的控制和工艺参数的设置、调整与监测,满足大型自来水厂自动控制的要求。整个方案经济实用,易于编程、操作及维修,在广东南海二水厂得到良好的应用。

1 引言

PLC(可编程控制器)是20世纪80年代发展起来的新一代工业控制装置,是自动控制、计算机和通信技术相结合的产物。它不仅具有优越的控制性能,良好的性能价格比,而且具有较高的性和抗干扰能力,在自动控制各个领域应用相当普遍[1]。

在制药厂,为了的质量,对清洁区的洁净度和温度、湿度都有很高的要求。例如汉江药业集团一分厂对洁净区的标准是:洁净级别30万级,温度18~26℃、相对湿度45~65%[2]。因此,空调系统是否运行将不仅影响药品的质量,而且也会造成能源的浪费。本文就汉江药业集团的空调系统运行要求,选用PLC作为控制器。同时用工控机作为上位机与PLC通信,实现对整个控制系统的组态和监控。

该药厂的空调系统由两台抖动电机、一个电动风门、一台送风机、三台引风机、两台除尘风机、一个蒸汽电动阀和两个冷液电动阀组成。要求系统运行时打开两个电动阀,然后按一定的顺序运行各个送风机,关闭时先关闭电动阀,然后按一定顺序关闭各个风机,达到除尘、送风、降温或升温的目的,保证清洁区达到指标要求。同时,系统要具有定时自动、手动运行功能,并要求在系统出故障时可以报警并诊断故障类别。

2 系统硬件设计

该药厂空调系统长期以来是采用继电器和接触器,采用人工操作的方法进行控制,其控制系统复杂,性低,维护繁琐,能源利用率低,而且经常带故障运行,设备耗损大。采用PLC,不仅能实现对开关量的逻辑控制,同时具有强大的计算功能,还能实现与工业计算机等智能设备之间的通信。因此,将PLC应用于本系统的控制,能很好的满足技术要求,具有操作简单、运行、自动化程度高等优点,再加上故障诊断功能,使系统维护简单、快捷、准确。

该空调系统需要控制九台电机,三个阀,同时需要指示,报警等功能。根据系统的控制要求,统计出其需要16个信号输入点,23个信号输出点。同时又对各种PLC性能指标、适用性、认知程度等进行比较,后本系统选用了西门子公司的S7-300型PLC,它 指令丰富,功能强大,性高,适应性好,结构紧凑,便于扩展,性价比较高。PLC硬件组态如下:电源PS307 ,CPU312C(带10点输入和6点输出),64K存储卡,扩展模块有数字输入模块SM321(32点输入),数字输出模块SM322(32点输出)。PLC配置满足系统需要,且便于系统扩展和组网。该控制系统的结构如图1所示。



图1 PLC控制系统的结构图


该系统以PLC为,PLC从控制面板以及现场获得信号,然后对执行器进行控制。上位机可以从PLC信息,并且可对PLC进行设置和控制。

PLC输入输出端子分配如图2所示。使用转向开关I4.0来选择系统的运行状态为自动或手动。按钮I4.1和I4.2只有在手动后才有效,用于手动控制风机、电动阀的开与关。端子I4.3~I5.6表示现场执行器的反馈信号,其中有两个端子表示现场温度的上限和下限。

输出端子Q0.0是系统运行指示信号。Q0.1~Q1.4用来控制电动机的顺序、定时运行。Q1.3、Q1.4和Q3.5控制三个电动阀的开关。Q1.6~Q2.7用来显示各个执行器的运行状态。Q3.0是系统的故障报警。Q3.1~Q3.4表示系统的故障类别,它可以表示16种故障类别,这样的设计可以充分利用PLC的端子,节约成本。



图2 输入、输出端子配线图


3 系统软件设计

系统的程序设计是在STEP7 V5.2软件平台下进行的。STEP7 V5.2可支持梯形图、SIMATIC指令和功能图。且具有指令丰富、结构清晰、编程方便的优点。在程序设计中,将整个系统分为:“手自动切换及互锁”、“自动运行定时”、“顺序开关风机及电动阀”、“故障报警与诊断”等模块。

系统进入运行状态后,根据转向开关确定是进入自动状态还是手动状态。在手动状态下,可以在控制面板上进行手动操作。在自动状态下,系统将自动按流程工作。在系统运行时,检测各执行器是否正常(接触器触点是否粘合)以及电动阀的状态。如果发现异常,则报警并给出故障类别(故障位置),然后系统处于等待状态,等待故障排除,重新运行;如果正常就进入运行状态。两台抖动电机运行30秒后停机,同时打开电动风门,3秒后启动空调送风机,然后顺序启动三台引风机,后是两台除尘风机。系统进入正常运行过程中,故障诊断程序不断扫描各个反馈信号,当任一风机过载不能正常运行或加热器、冷凝器工作异常温时,空调机组自动停机,故障部位报警指示。无故障时,等待自动关机或手动关机。总之,在每个PLC循环周期只运行一个状态的指令,这样可以节省CPU的资源,提高系统的实时性。系统控制程序的流程图如图3所示。



图3 系统软件流程图


4 系统故障诊断

故障诊断是该系统中的一个重要环节。及时有效的给出故障报警和故障位置可以帮助技术人员快速准确的查找故障和恢复故障,这一点在药品的生产过程中非常重要,因为药品生产对工作环境要求很高。

本程序中的故障诊断分为启动前、启动中和启动后三个级别的故障诊断。在启动前,判断各执行器触点是否处于断开状态,主要是根据输入端子的反馈信号的有无进行判断;在启动过程中,由于各风机均需要间隔启动,可以在程序中给每台电机设定两个定时器,一个用于电机定时,一个用于反馈信号定时,当启动时间到而反馈信号没有时,就可判断出该电机出现故障。启动完毕后,再次判断各接触器状态,此时,由于抖动电机运行30秒后处于关断状态,其它风机处于运行状态,判断方法同启动前故障诊断方法。根据运行情况,系统主要存在9大故障。为此,采用4个输出端子指示故障类别(可扩展指示16种故障)。

5 结束语

本文作者点是采用西门子S7-300完成药厂空调控制系统,尤其是设计了故障诊断程序,根据PLC自带指示灯可查看故障类型,给用户带来大方便。该控制系统由汉江股份有限公司提出,由陕西省工业自动化实验室研制。经过对系统的研究、设计、开发,控制系统已投入运行。从实际的运行效果来看,满足了药品生产洁净区对空调设备的指标要求。采用PLC作为本系统的控制器,保证了系统运行的,提高了设备的自动化水平,维护和检修方便。得到用户的欢迎。

一. 前言
随着生产自动化程度的不断提高,可编程序控制器PLC得到了广泛的应用,特别是小型PLC具有编程简单、性能和价格低的特点,被大量应用于单机控制系统中,如啤酒的稀释控制、离心机控制等。作为设备维修技术人员,一般都能掌握PLC和计算机PC的应用知识,但如何利用PLC和PC来设计小型自控系统,实现简单的数据采集和监控操作,从而满足生产需要,却是一个要深入学习研究的问题。

面向生产操作,设计简单有效的控制系统,涉及到三部分的软件编程:

:PC上人机操作界面的设计。PC作为上位机,一般都是运行在bbbbbbs 98/2000操作系统下,利用微软提供的可视化编程软件Visual Basic 6.0,设备维修技术人员就可设计出优美的人机操作界面,只需进行主要操作功能编程和少量界面控制编程。

二:实现生产工艺要求的PLC控制程序设计。因为是小型控制系统,其生产控制过程并不复杂,技术人员只要充分了解了生产工艺和控制要求,运用PLC编程工具,此部分设计编程并不难。

三:PC与PLC通讯程序的设计。此部分的开发设计较难,需要掌握PC和PLC的有关通讯硬件驱动和通讯协议的知识。但对于小型控制系统来说,主要通过PC串口来通讯,所以通讯程序设计的关键是如何利用Visual Basic 6.0中的串口通信控件——MSComm控件,并根据PLC的串口通信协议设计出上下位机的数据交换程序。
下面以啤酒稀释自控系统设计为例,主要讲解PC和PLC通讯程序的设计要点。

二. 啤酒稀释自控系统设计分析
1. 啤酒稀释控制要求
啤酒稀释是啤酒生产中一个重要环节,通过把高浓度的酒液与脱氧水按比例混合成稀释酒,从而提高啤酒产量和增加啤酒品种,稀释的控制过程很简单,主要步骤有:
1) 输入高浓度的浓度A和稀释后要达到的浓度B ;
2) 计算出加水量的百分比 [(B-A) / A]*** ;
3) 根据此百分比和高浓酒的瞬时流量,计算出脱氧水要达到的流量;
4) 比较水的瞬时流量和计算出的流量,来控制水调节阀的开度,使水瞬时流量等于计算流量。
由于酒和水的瞬时流量是变化的,所以3)、4)步要反复进行。以上所有的计算功能和PID调节功能都由PLC完成。
2. 啤酒稀释的人机操作界面:
人机操作主要用来输入啤酒浓度数据、操作命令,直观显示各种流量数据并记录偏差曲线,界面图如下:
3. 硬件配置
本例子中上位机PC选用联想奔腾Ⅱ机,外加RS232转RS485通讯转换卡。下位机PLC选用三菱FX2N-16MR,另加模拟输入模块FX2N-2AD 和模拟输出模块FX2N-2DA各一块,外加一个485串口通讯模块PC-485BD。

三. PC与PLC通讯程序设计分析
在分析具体的VB通讯程序之前,先要介绍有关VB串口通信控件MSComm的应用知识和三菱PLC 通讯协议。
1. MSComm控件简介
如图所示是Mscomm控件的图标。

它可以用来提供简单的串行端口通信功能,也可以用来创建功能完备、事件驱动的通信工具。Mscomm控件提供了一系列标准通信命令的使用界面。使用它可以建立与串行端口的连接,通过串行端口再连接到其它设备(如调制解调器、PLC),发出命令,交换数据,以及监视和响应串行连接中发生的事件和错误。

2. MSComm控件的基本属性
MSComm 控件有很多重要的属性,基本属性如下:

属性 描述
CommPort 设置并返回通讯端口号。
Settings 以字符串的形式设置并返回波特率、奇偶校验、数据位、停止位。
PortOpen 设置并返回通讯端口的状态。也可以打开和关闭端口。
bbbbb 从接收缓冲区返回和删除字符。
Output 向传输缓冲区写一个字符串。

如下程序打开串行端口COM1
mPort = 1 使用 COM1
MSComm1.Settings = "9600,N,7,1" 9600波特率,无奇偶校验,7位数据,一个停止位。
MSComm1.PortOpen = True ''''''''''''''''打开端口,开始通信。

3. MSComm控件的通信方式
通信控件有2种不同的方式来处理和解决各类通信软件的开发和设计问题。
(1) 事件驱动
事件驱动通讯是处理串行端互作用的一种非常有效的方法。在许多情况下,在事件发生时需要得到通知,例如:当线路数据到达本端或CD线和RTS信号线状态发生变化时,要求我们使用相应的事件来跟踪和出理。在这些情况下, Mscomm控件将触发OnComm事件,CommEvent属性值也将被改变。所以在OnComm事件中读取CommEvent属性值就可以检测和处理通信错误等方面的问题。
(2)查询方式
利用定时器控件Timer,我们可以设计程序每隔一段时间去读取CommEvent的值并处理所发生错误和事件。

4. 本实例中采用的通讯方式
在本例子中,PC与PLC 采用无握手协议的串行通信,它们只用两根数据线 TD和RD、一根信号地线连接,数据通信采用查询方式。根据系统功能要求,PC需发送两种类型的命令:
(1) 周期性命令,它由定时器触发引起,每隔0.5秒发送一次。用它来向PLC查询实时显示的数据。如酒、水的瞬时流量,调节阀开度等。
(2) 非周期性命令,它由操作者按动命令按钮引起,非周期性发送。用它来传送输入参数、操作命令给PLC 。
在啤酒稀释的人机操作界面中,有运行时不可见的通信控件(MSComm1)一个、定时器控件一个Timer1。通信控件(MSComm1)用于初始化串口数据并打开串口;定时器控件(Timer1)用于每隔0.5秒执行通讯命令,把查询命令从PC发送到PLC,同时接收PLC返回的应答数据。设计通讯数据的发送和查询功能,掌握PLC所遵循的通讯协议。


5. 三菱FX系列PLC通讯协议
三菱FX系列PLC共有四种通信模式,本实例采用的是PLC与计算机协议通信方式(无须PLC编程,电脑直接读写操纵PLC),其通讯命令字和通讯格式介绍如下:

PC发送给PLC的通信命令字
命令字 注释
BR 以1点为单位,读出位元件的状态
WR 以16点为单位,读出位元件的状态,或以1字为单位,读出字元件的值
BW 以1点为单位,写入位元件的状态
WW 以16点为单位,写入位元件的状态,或以1字为单位,写入值到字元件
BT 以1点为单位,设置/复位 位元件
WT 以16点为单位,设置/复位 位元件,或以1字为单位,写入值到字元件
RR 控制PLC运行RUN
RS 控制PLC停止STOP
PC 读出PLC设备类型
TT 连接测试

PC发送给PLC的通信命令格式
约定说明:ENQ为请求标志,ASCII值5,VB中以chr(5)表示;
ACK为正确标志,ASCII值6,VB中以chr(6)表示;
STX为请求标志,ASCII值2,VB中以chr(2)表示;
EXT为请求标志,ASCII值3,VB中以chr(3)表示;
表格中粗体字为需要求和效验的部分;
和效验为每一项的ASCII值的总和转换成十六进制后,取其低两位;
站号、PLC号、元件数量、和效验都是以十六进制表示;
等待延时为0-150毫秒,以十六进制0H-FH表示,如100ms为AH。

1) 批量读出位元件—BR指令格式

1 2 3 4 5 6 7 8 15 16 17
PC侧: ENQ 站号 PLC号 BR 延时 地址 数量 和校验 ACK 站号 PLC号
PLC侧: STX 站号 PLC号 数据 EXT 和校验
9 10 11 12 13 14

例如:要读出站号为5的PLC的X40到X44共5点的状态值,延时100毫秒,设PLC中X40与X43为OFF,其余为ON,则指令数据如下:


注释: 请求 站号 PLC号 命令 延时 元件地址 元件数量 和校验
代码: ENQ 0 5 F F B R A X 0 0 4 0 0 5 4 7
ASCII码: 05H 30H 35H 46H 46H 42H 52H 41H 58 30H 30H 34H 30H 30H 35H 34H 37H

只要将以上代码以字符串形式(VB中可以表示为chr(5)&”05FFBRAX00400547”)发送到PLC,就会有正确的回应信息,如下:
注释: 头 站号 PLC号 位元件状态值 尾 和校验
代码: STX 0 5 F F 0 1 1 0 1 EXT E 7
ASCII码: 02H 30H 35H 46H 46H 30H 31H 31H 30H 31H 03H 45H 37H

2) 批量读出字元件—WR指令格式
1 2 3 4 5 6 7 8 15 16 17
PC侧: ENQ 站号 PLC号 WR 延时 地址 数量 和校验 ACK 站号 PLC号
PLC侧: STX 站号 PLC号 数据 EXT 和校验
9 10 11 12 13 14
该命令使用与BR命令相同。

3) 批量写入位元件—BW指令格式
1 2 3 4 5 6 7 8 9
PC侧: ENQ 站号 PLC号 BW 延时 地址 数量 写入值 和校验
PLC侧: ACK 站号 PLC号
10 11 12

4) 批量写入字元件—WW指令格式
1 2 3 4 5 6 7 8 9
PC侧: ENQ 站号 PLC号 WW 延时 地址 数量 写入值 和校验
PLC侧: ACK 站号 PLC号
10 11 12

6. VB通讯功能块设计分析
根据三菱PLC的通讯指令格式,在PC中编写数据查询功能块RevData( )和数据发送功能块SendData( ),就可以在定时中断处理块TIMER1( )中调用查询功能块RevData( ),实现PC界面数据定时刷新;在每一次操作命令执行时,调用数据发送功能块SendData( ),把控制值写入PLC中,从而实现控制。下面给出这两个功能块的设计程序。
1) 查询数据函数RevData( )
(没有和校验)
Sub RevPLC (iNo As bbbbbb, iType As bbbbbb, iAdd As bbbbbb, iNum As bbbbbb)
'''''''''''''''' iNo为PLC站号,iType为元件类型,iAdd为地址,iNum为元件数量
Dim Stmp As bbbbbb
Dim cha, j As Integer
Dim ChaCount As Integer
Dim Comm As bbbbbb
Select Case iType
Case "D" ''''''''''''''''查询数据寄存器的值
Comm = "WR" ''''''''''''''''命令类型:数据字读
cha = Val("&H" & iNum) * 4 ''''''''''''''''数据寄存器的值为十六进制表示,占4个字符
Case "M", "X", "Y" ''''''''''''''''查询继电器触电的值
Comm = "BR" ''''''''''''''''命令类型:二进制位读
cha = Val("&H" & iNum)
End Select
iAdd = Right$("000" & iAdd, 4)
iNum = Right$("0" & iNum, 2)
Stmp = Chr$(5) & iNo & "FF" & Comm & "A" & iType & iAdd & iNum ''''''''''''''''输出命令格式
ChaCount = 6 + cha ''''''''''''''''要返回字符个数
main.MSComm1.InBufferCount = 0 ''''''''''''''''输入缓冲区清零
main.MSComm1.Output = Stmp ''''''''''''''''设传送缓冲区内容为命令格式
Now=Second()
Do
DoEvents ''''''''''''''''转让控制权,以便让操作系统进行
If Second()-Now>1 Then Exit Sub
Loop Until main.MSComm1.InBufferCount = ChaCount ''''''''''''''''当接收到规定字符时停止循环
RevDataTmp = Mid$(main.MSComm1.bbbbb, 6, cha) ''''''''''''''''返回数据字符串保存在全局变量
''''''''''''''''RevDataTmp中
End Sub
2) 发送数据函数SendData( )
(没有和校验)
Sub SendPLC(iNo As bbbbbb, iType As bbbbbb, iAdd As bbbbbb, iNum As bbbbbb, ivalue As bbbbbb)
'''''''''''''''' iNo为PLC站号,iType为元件类型,iAdd为地址,iNum为元件数量,ivalue为写入值
Dim Stmp As bbbbbb
Dim Comm As bbbbbb
Select Case iType
Case "D" ''''''''''''''''写数据寄存器的值
Comm = "WW" ''''''''''''''''命令类型:数据字写
ivalue = Right$("0000" + Hex$(Val(ivalue)), 4) ''''''''''''''''写入值转换成十六进制表示
Case "M" ''''''''''''''''写继电器触点的值
Comm = "BW" ''''''''''''''''命令类型:二进制位写
End Select

iAdd = Right$("000" & iAdd, 4)
iNum = Right$("0" & iNum, 2)
Stmp = Chr$(5) & iNo & "FF" & Comm & "A" & iType & iAdd & iNum & ivalue ''''''''''''''''输出命令格式
MSComm1.Output = Stmp ''''''''''''''''输出命令到传送缓冲区
Now= Second()
Do
DoEvents ''''''''''''''''转让控制权,以便让操作系统进行
If Second()-Now>1 Then Exit Sub
Loop Until main.MSComm1.OutBufferCount = 0 ''''''''''''''''当命令传送完时停止循环
End Sub

四. 总结:
生产自控系统的设计要解决好三部分的问题:PC上人机操作界面的编制,PC与PLC的通信程序编写,PLC生产控制程序的编写。对于串行通信的单机自控系统,因为具有操作界面和生产工艺流程简单的特点,所以利用Visual Basic设计操作界面和利用PLC编程语言设计生产控制程序都比较方便,但对如何编写通信程序就比较陌生,也没有许多相关资料可学习。本文介绍的方法简单、实用,供各位参考。利用通信控件MSComm的OnComm事件和CommEvent属性还可以设计出功能完善的通信程序。



http://zhangqueena.b2b168.com

产品推荐