背景介绍1目的为演示WOP的各项功能,编写这个例程和文档。2硬件WOP2070T一台,APAX5520KW1个,APAX5017一个:12路AIAPAX5028一个:8路AOAPAX5040一个:32DIAPAX5045一个:16DI&16DOAPAX5046一个:32DOAPAX5060一个:16RelayOutAPAX5070一个,作为Modbus网关,连接下面的设备3应用例程需求3.1采集12个模拟量数入,并显示在HMI上。计算3个AI,得出一个AO值,输出。一共有4个AO输出。3个AI值相加,然后除以一个配方值,得出AO值。3.2采集12个DI,用指示灯来显示3.3输出DO,控制5个DO,跑马灯3.4把所有操作记录到文件中,每10分钟存储一次3.54个配方值。3.6采集到的数据,都存储到文件中去。每秒采集一个数。3.7做启动画面,动画展示。1建立项目1文件-新建,新建立一个项目。项目名称,Demo,自行指定项目所在路径。然后下一步。2选择人机界面的型号和参数。本例程,我们选择7寸的屏,型号为WOP-2070T。该屏的分辨率,默认为800*480.3如下图,连接配置连接名称:在这里可以起任何名字,建议起名字为WOP所连接的PLC的名字。在这里,我们使用APAX5520KW。连接种类:WOP与PLC连接的方式,串口还是以太网等。这里,我们使用以太网的方式来连接。注:直接连接方式,是WOP和PLC直接通过连接线来连接,通讯是一对一的。分串口和网口。网关服务方式,是把当前的WOP当做网关服务器来使用,别的WOP通过连接本WOP来达到与PLC通讯。很幸运,可以把这个屏当做一个网关服务器来使用,Good,省下一笔买网关服务器的费用。当我们选定了连接的方式,那么,就需要选择设备的驱动了。APAX5520KW遵循Modbus协议,所以,此处选择Modicon.Corp这个驱动。对于PLC来讲,站在WOP的角度,PLC是从设备。所以,选择ModbusDevice/Slave。抱歉,我尚未知道这个后面(TCPIP;Type2)是什么概念,与前面有什么区别。记录通讯状态于操作记录中:通讯异常讯息的显示时间长度:IP设置:为PLC的IP使用默认通讯端口为502节点地址:为PLC本身的地址还有超时时间、命令延迟、重试次数等等,本次都设置为0,用户可以根据项目需要自行设置。然后就完成了,项目建立阶段就完成了。2项目设置之全局设置2.1语言本项目,我们欲支持中文简体和英文两种语言。选择语言总数:2名称,我们输入“中文简体”和“英文”,字符集选择对应的项目,请参照图片。我们可以到把这个配置,导出、保存成一个文件。如果下次建立新的项目,就可以导入这个配置文件了。2.2字体模板这个模板,也可以导出的。2.3图片数据库编辑本图库,是给本项目添加图片资源,以便在工程中使用。所有的图片,只有添加到这里之后,才能在项目里引用。这里,我们选择从图库导入,然后选取3D的PushButtons,选取其中部分按钮,作为本项目的图库。2.4声音库目前WOP仅支持WAV文件,无法播放MP3文件。在外面录制好WAV文件,然后导入到本项目内作为资源。本工程暂时不需要声音文件。2.5文字库这个选项没有任何反应??2.6全局标签相当于C语言编程里,定义的全局变量。在整个项目中都可以引用。每个标签对应一个地址,可以是一个位,也可以是一个字节或者一个word。起标签,就是给对应的地址赋予一个有意义的名字,方便上下文引用。2.7全局宏在工程里的所有项目,都可以引用全局宏。相当于以前的全局函数。3项目设置之连接设置连接,就是要连接下位PLC。连接的方式有多种。网口的,串口的。直连的,本屏作为网关服务器来连接的,本屏作为中转Server来连的。直连的,没什么好说的,设置好参数就能通讯了。作为Server来连接的,那么这个屏就相当于一个中转站,别的屏,通过连接这个屏,来获得与PLC的通讯。那么,别的屏的连接速度,就只有本屏的一半。这是2-1的连接方式。作为网关Server来连接的,也是N-1的连接。适用于多屏一机。还有一种通透连接,哎呀,忘记是什么概念了。3.1连接连接上点右键,可以查看WOP所支持的驱动列表。连接下有“内部记忆区”,右键点击可以查看和设置本WOP的记忆区的信息。3.1.1系统记忆区为1K个word,地址范围为$S0~$S1024.3.1.2电池保护内部记忆区这个保护区,默认都是128Kword的,如果需要大的,需要客户在订货时提供详细需求,目前软件能支持到1M个word。3.1.3一般内部记忆区为本WOP的内部记忆区。我还不知道,该款的记忆区,到底有多大。翻看了2070的指标,有16M的FlashMemory。不知道这个,是不是该屏的系统内部记忆区。这也太大了。不是的。这个,只是用来存储下载过来的HMI应用的,就是prp文件。实验中心的一个简单的prp文件,就1.5M左右,小的屏,flashmemory只有4M,大屏也才16M,能否存下足够多的画面么?我想,屏的应用也已经非常广泛了,那么4M和16M,就是个沉淀下来的数字。3.2连接属性:APAX5520KW详见建立项目过程中对添加连接的描述。4声音表自行录制声音文件,放在这里。也可以导出到一个配置文件。5操作记录用于记录用户的操作选择“启用操作记录”,就可以看到上面图片的内容。5.1记录内存大小这个内存大小,决定了可以录的笔数。最大可设置512K个word。用户可自行调整。5.2保存勾选了这个选项,就可以设置保存操作记录到文件。文件名称里设置文件路径和文件名。保存时间有多个选项,从一分钟一次到每月一次。这个,依据内存大小,和操作频繁度来决定保存时间间隔。5.3记录开始运行时间5.4记录停止运行时间暂时没理解是什么概念。6标签这里分内部记忆区和连接的PLC。标签引用这几个地方的地址。这里,有个扫描速度,需要特别说明一下。假定本页有30个点,有一个点,需要刷新的速度快,那么就把这个点的扫描速度设置为快速。这个扫描速度,完全是相对的,是少数点相对多数点扫描速度为快。如果全部设置为快速,在本页也就没什么意义了。7设置7.1人机应用一般设置7.2命令与状态7.3时钟7.4密码7.5排程8画面WOP的魅力所在,就是画面了。如果没有多画面的支持,屏或许就不会有这么广泛的应用。画面分为普通画面、窗口画面以及菜单画面。8.1普通画面设置8.1.1画面编号在一个工程里,一个画面只有一个唯一的编号,不能重复。8.1.2画面名称在一个工程里,画面名称也是不能重复的。8.1.3使用本画面勾选框勾选表示在此工程里使用本画面,否则在编译后,无法调用此画面。8.1.4基底画面使用另一画面作为本画面的背景。这种情况,使用在一屏无法显示完所有的数据,需要分屏显示。加入有一些数据需要5屏来显示,于是,我们可以设计一个基底画面,作为这些5屏数据的基底画面,然后这5个数据画面把这个基底画面作为基底,就可以直接显示数据了。8.1.5开宏打开本页面时运行的宏,为一次执行。勾选这个选项后,会在上面出现“开宏”这个选项卡,点开,选择添加,输入要增加的宏的名字。此后就会打开宏编辑页面,来添加宏的指令。8.1.6关宏关宏是页面关闭之前运行的宏,为一次执行。方法与开宏相同。8.1.7循环宏是页面打开后运行的宏,页面有效期间一直循环执行。添加方法同开宏。可以设置循环间隔时间,时间间隔为100~1000ms。最大时间为1秒,时间略有些短。8.1.8数据扫描时间分配大家是否还记得,之前给标签分配的时候,可以选择扫描速率为“一般”或者“快速”。那么,就要在这里,给快速扫描分配时间百分比,分配给快速扫描的时间越多,快速扫描就会越稳定,但给一般扫描的时间短了,会影响整个画面的数据刷新。一般来说,50%默认就可以了。笔者还没搞清楚这个关系到底影响多大。8.1.9无数据显示何物这个根据项目具体情况来决定吧。8.1.10窗口下面仍可操作如果勾选这个,那么,在一个画面中,产生出窗口画面后,那么仍可以操作底画面。如果不勾选,则只能操作窗口画面。但底画面的循环宏仍在执行。8.1.11数字键盘开启供连续输入这个选项,还没有试验过。8.1.12背景背景可以设置为:单色:单个颜色为整个画面的背景。图样:可以设置以下图样为画面背景。可以设置线条的颜色,可以设置背景的颜色。图片:设置某个图片为画面背景。如果勾选延展,则图片延伸至整个画面。相当于windows桌面背景图片的拉伸功能。8.1.14关于画面的一些探讨1无论任何时候,都只有一个普通画面存在,只有一个。在画面切换是,是把前一个画面关掉,然后打开一个新的画面。所以,画面的循环宏,其生命周期就是画面开启后到画面被切换之前。2普通画面的上面,可以存在窗口画面或者菜单画面,这些画面是可以浮动的。窗口画面和菜单画面上循环宏,是仍然在执行的。此时,底画面,也就是那个唯一存在的普通画面,其循环宏也是在执行的。两个存在于普通画面上的窗口画面,其循环宏也是在循环执行的。假如有三个画面,一个普通画面,然后通过这个画面打开了2个次级窗口画面,那么,这三个画面上的循环宏,都是在执行的。因为,画面是存在的,没有被关闭。3假如设定了一个基底画面,然后别的画面引用这个基底画面。这样一来,画面切换时,会有几个宏在执行呢?基底画面的开宏、关宏、循环宏是否在执行?尝试了开宏、关宏。只有当前的页面的宏在执行。基底画面,即时设置了宏,也没起作用。4画面背景设置,作为基底画面,对别的画面怎么不起作用?是我没设置好,还是机制就是如此?我是这么理解的,对于画面背景的设置,以当前画面为准。无论基底画面设置了颜色、图样或者图片。对于基底画面上的控件,那么就会作为背景画面,直接引用的。8.1.13打印区域目前没有连接打印机,这个区域也无法尝试。从理解上来看,设置从纸的坐标(0,0)开始打印整个画面。这个设置,用户根据打印机设置自行调整。9警报对数据的值进行报警设置。10配方这个应用,在PLC领域里广泛应用。比如饮料生产线:今天生产的某饮料水、糖、添加剂、微量元素为一个配方,过一段时间,要提升糖的含量百分比,那么就是一个新的配方。一个饮料生产线,可能会生产几十种饮料,那么就有几十种配方。如果每次改配方都需要改程序的话,那么会给维护带来极大的不变。配方功能的出现,让这个应用得到了极大的方便。客户在WOP里设置配方区,把着几十种配方都写进去,每个配方对应一个索引号。今天要使用索引为21的配方,那么把这个配方下装到PLC的对应变量上,就成了,很方便。11数据收集器数据收集器,数据收集器可收集并储存数据区的数值。用户可设定欲收集数据的数据区、取样的频率、内存类别以及储存数据到文件的方式。相同人机应用最多可建立16个数据收集器,最大的取样长度为128字符。在该选项上点右键,选择“新增数据收集器”,则给本应用增加了一个数据收集器。本应用12宏这里的宏,可以说是一段小程序。13动画制作