通过CAN-bus总线对室内空调的温湿度模拟系统进行

  • 时间:2020-12-10 09:07
  • 作者:365官网
  • 阅读:

  -bus 总线定时采集各个房间的温/湿度数据,并对各个房间的温/湿度进行控制。系统的数据采集及控制中心由上位机的硬件即任一款ZLGCAN 系列卡和PC 构成,软件由组态软件MCGS 和ZOPC_Server 组成。控制室即下位机由DP-668 实验仪和ZLGCAN 系列接口卡中的PCI-9810 接口卡模拟。

  本空调温/湿度控制系统需要对各个控制室及风道的温/湿度值进行监控,因此工程需要有实时显示和记录各控制室温/湿度值、修改房间温/湿度SV 值、报警显示、报警显示浏览记录等功能、工程框架如下:

  用户窗口:封面窗口、主控窗口、控制室窗口1~6、风道平面图、状态条、修改控制室1~6 SV值、修改SV 值消息窗口、风道电加热段消息窗口、修改风道温度表1~2 SV 值、修改风道湿度表1~2 SV 值、风道内三级加热报警窗口。

  运行策略:启动策略、退出策略、循环策略、卡车运动策略、控制柜灯闪烁策略、显示控制室1~6策略、显示时间策略、主控窗口中提示块显示策略。

  主菜单:用户登录、封面窗口、打开主控窗口、打开各控制室、风道平面图、修改SV 值、历史记录、通信错误记录、温/湿度异常记录、退出系统

  子菜单:第一~六控制室、修改一~六号房间、SV 值修改风道温度、表1~2 SV 值、修改风道湿度表1~2 SV 值

  建立好一个空调温/湿度控制系统的MCGS 工程后,实现上位机的主要任务就是建立组态工程与OPC设备的连接,实现上位机的主要任务就是建立组态工程与OPC设备的连接,并对采集到的数据进行处理和显示。在这个工程的实时数据库中,要进行显示、操作的数据对象如表1 所示。由于风道的数据对象较多,为了统一管理,将风道当作两个房间节点来处理。这样,每个房间都只有1 个温度值对象、1 个湿度之对象、1 个温度SV 值对象和1 个湿度SV 值对象。

  为了使系统具备记录数据及浏览历史数据、错误数据和异常数据的能力,在实时数据库中建立了save、ErrorSave 和exception 三个数据对象组。其中ErrorSave 和excepTIon 的组对象成员有:RoomID1 、ErrorTemp、ErrorHum 、ErrorTempSV 和ErrorHumSV ,save 的组成员对象如表1 所示。在运行过程中,系统会定时保存save 组对象到数据库。当通信产生错误和房间温/湿度异常时,系统会将ErrorSave 和excepTIon 保存到数据库。

  在此系统中的OPC 设备使用的是ZOPC_Server 服务器。ZOPC_Server 是一个OPC 服务器软件本软件,支持操作全系列的ZLGCAN 系列接口卡,只要在一台PC 机上插上ZLGCAN 系列接口卡中的任何一种或几种,再运行本服务器软件,就可以使用任何一种支持OPC 协议的客户端软件(比如组态软件:组态王KingView、昆仑通态MCGS 和Intouch 等)来连接到此服务器通过此服务器,来跟CAN-bus 网络进行数据的传输。

  本设计中,ZOPC_Server 在数值存储模式下和字符串存储模式下提供的数据项都不能直接连接到实时数据库中的数据对象,因此必须编写脚本程序对数据进行处理。关于数据项存储模式,这里选用被推荐的字符串存储模式;但是,使用数值存储模式会更容易实现此系统。

  在实时数据库添加字符型数据对象In_CANData 和Out_CANData,字符数为30,将In_CANData 和Out_CANData 分别连接到OPC 设备的输入通道和输出通道,In_CANData 的读写属性为只读,Out_CANData的读写属性为只写。由于这两个数据对象是字符型的,不便于进行数据处理,所以应该先将它们转换为数值型对象。在MCGS 脚本程序中,用户不能定义子程序、子函数和变量,而数据对象可以看作是脚本程序中的全局变量,在所有的程序段共用。这给编写较复杂的脚本程序带来不便。要进行类似子程序和子函数的操作,只能用先将要处理的数据放入全局变量,然后调用策略行中的脚本进行处理,最后将返回的数据放入全局变量的方法进行处理。在实时数据库加添以下数值型对象作为中间变量:

  然后,在运行策略中新建一个名为StringToObject 的用户策略,新增一策略行并添加以下脚本程序,用于将In_CANData 转换到数值型对象:

  同样,在运行策略中新建一个名为ObjectToString 的用户策略,新增一策略行并添加下面的脚本程序,用于将数值型对象转换到Out_CANData 。在下面的程序中,Out_SendID 进行自加是因为ZOPC_Server 要判断写入的Out_SendID 和上一次写入的Out_SendID 是否相同,如果不同才将报文发出。

  因为MCGS 不便于编写复杂的脚本程序,所以传输协议的设计以简单为原则。本系统使用HiLon 协议A 。HiLon 协议A 是一个通用的协议,基于非对称型主从式网络结构,支持广播和点对点传送命令数据,命令数据包可长达256 字节,非常适合用作本系统的通信协议HiLon 协议以CAN2.0A 帧结构为基础。下图是帧报文格式,一个CAN2.0A 标准帧由11 位ID 、1 位RTR 、4 位DLC 、数据区(最多8 个字节)组成。

  DIR :方向位。方向位决定一半的优先级而剩余的优先级,由节点地址决定低地址优先级高。当方向位为“1” 时,地址域是源节点地址(从节点到主节点),优先级由地址决定;当方向位为“0” 时,地址域是目标节点地址(主节点到从节点),优先级由地址决定。从节点也可使用地址滤波技术从而减少需处理的网络信息量,因而能有效节省CAN 节点控制器资源,提高控制器效率。

  Index :索引字节。对于单帧数据,该字节表示传输数据的第一个字节;对于多帧数据,此字节表示索引字节,即此帧数据在数据包中的位置。

  在本系统中,数据中心要对各个房间的温/湿度进行监控并修各个房间的温/湿度SV 值,因此给各个控制室分配唯一的标志符;在下位机向上位机发送的数据报文中携带的数据是房间的温/湿度值;上位机向下位机发送的命令报文携带命令号及控制室的温/湿度SV 值。本系统的传输数据量较小,且MCGS 的采样周期本系统取5ms 相对下位机来说较长,因此,本系统选择使用单帧(点对点)类型帧。利用HiLon报文的特点,将7 位Address 分配给房间ID,每一个房间ID 对应一个Address ,地址0 保留。当数据方向是从节点到主节点时,8 字节数据的前4 字节用于传递房间温度,后4 字节用于传递房间湿度,当数据方向是主节点到从节点时,8字节数据的前4 字节作为命令ID,后4 字节用于传递命令参数(房间温/湿度SV值)。报文帧的格式如图1 所示。

  本系统要监控的数据是各房间的温度和湿度及它们的SV 值。要将这些数据在总线上传输,必须将它们装入报文帧。为了使传输的数据只占用较小的空间而达到较高的精确度,在报文中每一种数值都分配了4 字节的空间,数据按IEEE-754 标准的float 数据类型的格式存储。这样,在下位机进行编程就比较方便。但是,上位机的处理程序是用类似VB 脚本的语言写的,数据对象的类型只有数值型、开关型和字符型三种,不能直接使用接收到的数据。因此,要对接收到的数据进行转换。

  按IEEE-754 标准,一个浮点数用两个部分表示:尾数和2 的幂。例如:

  二的幂代表指数。指数的保存形式是一个0 到255 的8 位值。指数的实际值是保存值0 到255 减去127,一个范围在127 到-128 之间的值。

  尾数是一个24 位值(代表大约7 个十进制数),最高位(MSB) 通常是1, 因此,不保存。一个符号位表示浮点数是正或负。在尾数的左边有一个省略的二进制点和1。 这个数在浮点数的保存中经常省略。

  在运行策略中新建一个名为SplitFloat 的用户策略,新增一策略行并添加以下脚本程序,用于将数值型对象float 转换到4 字节存储单元Byte0 Byte3:

  在运行策略中新建一个名为UniteFloat 的用户策略,新增一策略行并添加以下脚本程序,用于将4 字节存储单元Byte0 Byte3 转换到数值型对象float:

  系统的控制中心采用定时查询的方法,每2 秒钟对各个房间的温度值和湿度值进行一次查询。查询时,组态软件先向实时数据库中的数据对象Out_CANData 写入查询房间温/湿度命令的报文。命令报文的房间ID 对应要查询的房间号,命令ID 为0x00000000,无命令参数。然后经过ZOPC_Server 将报文发到CAN总线上。在发送查询命令后控制中心将等待一段时间(这一段时间要大于MCGS 的最小采集周期),然后再从实时数据库中的数据对象In_CANData 读取数据并进行处理和显示。

  如果控制中心要修改房间的SV 值,首先发出查询房间温/湿度SV 值的命令,在收到房间温/湿度SV值后,在“修改控制室SV 值”窗口中显示SV 值(或在“修改风道温度/湿度表SV 值”窗口中显示),然后发出带有参数的修改房间温度SV 值命令报文,参数的内容就是要修改的SV 值。

  下位机的验收码设置成ID10 为0,ID9~ID3 为房间ID,后3 位屏蔽。当总线上有发给该房间的报文时,并根据命令进行相应的操作。如果收到的是查询命令,下位机立即将房间的温/湿度数据发送到CAN 总线上。数据报文的ID 也是该房间的ID,以表示报文中的数据是该控制室的。如果是修改房间温/湿度SV 值命令,下位机就从命令参数取出SV 值并替换旧的SV 值。

  1. 在运行策略中新建一个名为“GetRoomTHV ”的用户策略,并添加3 个脚本程序,1 个退出策略行,如图:

  “计算控制室的温度”的执行条件是!BitAnd(!BitRShift(In_ID, 3), 127) = RoomID 表达式的值为非0,脚本程序如下:

  “计算控制室的湿度”的执行条件是!BitAnd(!BitRShift(In_ID, 3), 127) = RoomID 表达式的值为非0,脚本程序如下:

  2. 在运行策略中新建名为“查询各控制室温/湿度”的循环策略,循环时间为2000ms。 添加如下图所示的策略行。

  3. 在运行策略中新建一个名为“GetRoomSV” 的用户策略,其他步骤同1。

  4. 在运行策略中新建名为“查询房间1SV 值”的用户策略,添加如下图所示的3 个策略行。

  5. 重复步骤4。 添加“查询房间2~6 SV 值”和“查询风道温/湿度表1~2 sv 值”策略,并由菜单“修改1~6 号房间SV 值”调用对应的策略。

  6. 双击主控窗口中名为“修改一号房间SV 值”的菜单项,在菜单属性设置对话框的“菜单操作”页中添加执行运行策略块“查询房间1 SV 值”。

  8. 在运行策略中建立一个名为“SetRoomTSV” 的用户策略,添加以下脚本程序:

  9. 在运行策略中建立一个名为“调整房间1SV 值”的用户策略,并添加以下程序:

  本系统可用DP-668 实验仪模拟产生控制室数据。DP-668 实验仪具有模拟控制室温/湿度变化、自修改温/湿度SV 值以及报警等功能。其模拟温/湿度变化算法如下:

  本系统也可用任一款ZLGCAN 接口卡和PC 组成的系统来模拟产生控制室数据,基于ZLGCAN 通用函数接口编程,同样具有模拟控制室温/湿度变化、自修改温/湿度SV 值以及报警等功能。其模拟温/湿度变化算法(VC 示范)如下:

  主题简介及亮点:J1939通信是商用车,军工,船舰 ,农机,发电机,特种设备等上面的常用通信标准,这两年在新能源车上应用

  为了使用户更好的了解该产品,我们以该系列板卡中的CIF 50-PB(PROFIBUS DP主站)产品....

  由于RS232通讯距离短(根据EAT/TAI-232标准,仅为15米),而且,只能进行点到点通讯,不....

  唐钢煤气焦化厂化产车间仪表系统参数检测和控制采用的全部是模拟仪表,有些甚至为老式的II性仪表,存在着....

  提供给空调终端用户使用的,仅用来对空调机组进行本地(小区范围)监控用户只需在电脑上就可知道机组的运行....

  该系统设计的轮式移动机器人机械导航结构采用四轮差速转向式的机械机构,前面两个轮是随动轮,起支撑作用,....

  航天器动力学环境试验综合测试系统由硬件平台和软件系统这两大部分构成。硬件平台的选择,是由所采用的测试....

  一、防爆空调的供电应有专用线,在专用线路中应设有断路器或空气开关。供电导线、保险丝都应符合有关规定,....

  马钢第三炼钢厂4#转炉工程采用了当今世界上先进的现场总线控制系统,即西门子公司的PCS7控制系统。其....

  随着控制、计算机、通信、网络的技术的发展,信息的交换领域迅速覆盖从工厂的现场设备层到控制、管理等各个....

  板坯连铸机电气基础自动化控制系统是保证连铸机正常生产的关键系统,相对其它系统而言,对于系统硬件的可靠....

  此系统是珠海广昌泵站的自动化控制系统,广昌泵站是为解决珠海市及澳门咸期供水而新建的一个泵站,其日供源....

  大豆分离蛋白的生产工艺复杂、质量控制要求严格。我国现有的绝大部分大豆分离蛋白生产线工艺设备落后,生产....

  有了测试装置和评价标准之后,就可以进行CAN数据总线系统EMC的评价了。下面以单线CAN为例说明CA....

  面对日益激烈的国际能源市场竞争,在石化企业安全事故频发的背景下,迫切要求油库提高效率、加快周转,加强....

  存储器的选片及总线的概念 存储器的送入每个单元的八根线是用从什么地方来的呢? 它就是从计算机上接过来....

  ALCS是一种非常独特的核武器系统,如果地面的发射控制中心被摧毁,该系统为美国军方提供了一种从飞机上....

  飞机、导弹、宇宙飞船等“上天”装备对自动控制系统的要求是众所周知的,而隧道掘进设备对自动控制系统的要....

  多年来,PROFIBUS风靡全球,成功地应用于制造业、楼宇、过程控制和电站自动化,PROFIBUS产....

  NETWORK-6000+分散控制系统,其分散处理单元(DPU)T940X的CPU采用Pentium....

  在一些行业中,对实时性要求很高,例如CAN通信在轨道交通制动系统中的应用,如果CAN-bus总线通讯....

  在控制系统中,所谓的“语言”被称为“协议”,是系统中的设备之间进行指令和信息传递时,采用的数据格式等....

  近年来,钢铁行业竞争日渐激烈,而企业只有不断进行技术改造,提高产品质量,降低生产成本,才能获得进一步....

  3月25日,在2019年度广东省科技创新大会上,格力电器自主研发的“光储空调直流化关键技术研究及应用....

  大型污水处理厂各个反应池之间距离较远,而工程师要及时了解各个环节的电机运行情况和阀门的开关情况、处理....

  在全面审视上述要求之后,选择什么样的电控系统和现场总线,还应该比较它们的性能价格比,以及实现通信的方....

  本文首先分析了空调扇制热是否需要加水,其次介绍了空调扇和空调的对比,最后介绍了空调扇的选购方法。

  随着电力行业的技术进步,化工行业自动化水平日益提高,国内各大化工厂纷纷将配电自动化系统纳入DCS(集....

  我公司600m3 高炉自动控制系统中,由槽下上料系统、高炉本体、热风、布袋四个站点组成,炉顶配有意大....

  你好,我有2个pic微芯片,在一张图片中我使用了3个变量:“variable1”,“variable2”和“variable3”。我想把它们通...

  阳春三月,暖阳高照。现在,在全国上下的共同努力下,新冠肺炎疫情已经得到了有效控制,各地企业也纷纷按下....

  CAN(Controller Area Network)即控制器局域网络总线,是德国Bosch公司在....

  实验证明,基于profibus-dp的zj40d钻机电传动系统能够可靠工作,各部分均能按照设计要求工....

  设备控制系统网络结构参见图1。profibus-dp网络是网络集成的最底层,主要是连接现场设备,如分....

  由我公司生产研制的大直缝铣边机是石油天然气管道制造行业中大口径直缝焊管生产线(JCOE)上的关键设备....

  3月18日,中怡康发布第11周高端空调市场数据。其中1.5万以上卡萨帝份额50.43%,三菱电机份额....

  日前,中怡康公布2020年第11周家电行业数据显示,冰箱、洗衣机、空调、热水器等9大品类均出现不同程....

  本文采用角度传感器,运算放大器,AD转换器采集平板变化信息,通过单片机,产生脉冲信号,控制电机模块驱....

  当下,新风空调契合刚性消费需求,已经成为最具增长力的品类。中怡康1-11周数据显示:线下空调市场新风....

  经过改造升级后,系统的自动化控制性能要得到很大的提高,而且系统可靠、故障率低、维护方便,能有效降低停....

  现场总线是一种应用于生产现场,在现场设备(仪表)之间、现场设备控制室内的自动控制装置(系统)之间实现....

  在诸多的总线标准中,各种总线都称是标准的,但在市场竞争不能划地为界的行业或领域,各种总线都互相渗透。....

  opc服务器是数据的供应方,负责为 opc客户端提供所需的数据;opc客户端是数据的使用方,opc服....

  [tr] 我用的TL138-EVM-A3的开发板,只跑dsp核,J2接口上连接的是TL7656-A1。 &nb...

  RS一485总线由于平衡差分传输的特性,具有抗干扰能力强,传输距离远、有较强的级连的能力。能实现多站远距离通信...

  我有一个关于MCC Lin Driver 2.2从机的问题:目标系统:PIC18F14K22(作为Lin从机)开发工具:MAPLAB...

  近年来,ГOCT18977、1553B和ARINC429已成为我军机载设备间、飞机与导弹间数据通信所广泛采用的总线标准。这种...

  由多台计算机分别控制生产过程中多个控制回路,同时又可集中获取数据、集中管理和集中控制的自动控制系统 。分布式控制...

  想知道,如果有人能告诉我,我怎么知道这个CAN总线模型能产生多少信号(量)?翻译德语一直是一项艰巨的任务,此外...

365官网

上一篇:电动法兰闸阀-环保在线 下一篇:没有了