基于网页的可编程控制器的在线仿真方法及系统的制作方法

文档序号:9910815阅读:564来源:国知局
基于网页的可编程控制器的在线仿真方法及系统的制作方法
【技术领域】
[0001]本发明涉及计算机领域,特别是一种基于网页的可编程控制器的在线仿真方法及系统。
【背景技术】
[0002]随着微处理器、计算机技术的飞速发展,自动控制逐渐渗透到几乎所有的生产领域。在这样的背景下,可编程逻辑控制器(PLC)(以下简称可编程控制器)得到了广泛的应用;这是一款专用于各种类型的机械或者生产过程控制的简易计算机,可以由用户自定义逻辑控制程序并存储在内部存储器,根据这些程序执行逻辑运算、顺序控制、定时、计数以及算术运算等操作,通过数字或模拟格式的输入以及输出对变频器、步进电机、水栗、水阀、电磁阀、气缸、气栗等电气设备进行控制,实现工业、农业等生产活动的自动化。
[0003]常规的可编程控制器具有丰富的输入、输出接口,其有五种标准编程语言:梯形图语言(LD)、指令表语言(IL)、功能模块语言(FBD)、顺序功能流程图语言(SFC)、结构文本化语言(ST)。这些语言过于抽象不易理解,需要编写者具备控制、电气、模拟、数字电路等技能,而编写后的程序需要具体的设备进行调试及测试,耗费大量的时间及人力,在调试及测试过程中难以搭设实际应用的条件和环境,无法遍历所有的应用实例。
[0004]目前,市面上也有不少针对编程语言、电路或者设备的仿真系统,但是这些系统都是针对特定的编程语言,需要由专业人员在电脑上安装特定的仿真软件,在该软件上搭建与真实系统相近的仿真系统,按照真实使用的逻辑编写仿真程序,进行模拟仿真,从运行的结果了解程序、电路或者设备的行为,确保满足应用要求。
[0005]目前的仿真系统无法利用互联网的互联互通、与第三方及时沟通交流等特点,只能在单台电脑上安装专用仿真软件进行仿真,无法将仿真的系统、程序或者电路与他人进行共享,无法直接通过网络下载获取与其应用相同或得近似的系统、程序或者电路,在他人的成果基本上进行修改,同时,也难以与设备供应商等第三方进行互动。
[0006]用户购买可编程控制器之前,只能通过阅读说明书等资料或者下载专用软件安装进行仿真,从而详细了解控制器的功能及性能;但是通过图文资料掌握的信息量有限,无法深入了解控制器,而下载、安装软件的过程极其烦琐,具有很大的信息安全隐患,不符合电子商务的潮流。
[0007]此外,在常规的可编程控制器的基本上,发展出了一种简易的可编程控制器;这种可编程控制器适用于简易的自动化机械或者生产过程的控制,接口简单,常用中文描述的自定义程序指令进行编程,一般具有显示显示器件和按键,用于脱机在本地通过按键操作进行编程;对于这种可编程控制器,由于用户接口、编程方法各自迥异,更需要一个可以脱离实物的仿真工具对其功能、特性、编程方法全面了解。

【发明内容】

[0008]为了解决这些问题,本发明提供了一种基于网页的可编程控制器的在线仿真方法及系统。所述在线仿真系统运行在网页浏览器,通过JavaScript脚本语言、html控件等模拟可编程逻辑器的外观、控制逻辑、用户界面等,由用户编写逻辑控制程序并将其存储,提供接口由用户提供改变程序运行参数以及输入信息进行调试,并以声音、图文模拟输出状态;同时建立一个与互联网连接以及真实设备连接的通信通道,供用户与第三方通过网络进行实时交流沟通以及寻求第三方协助。从而,用户不需要真实设备及安装软件,只需要在浏览器上从指定的url下载在线仿真系统,就可进行编程逻辑控制器的仿真编程及调试。
[0009]本发明要解决的技术问题是通过以下技术方案实现的:
基于网页的可编程控制器的在线仿真方法,其特征在于,包括以下步骤:
步骤1:在网页上加载并显示可编程控制器的图片,将可编程控制器的图片根据器件类型及器件所在位置划分区域:
如果有显示器件,则将显示器件所在区域划分为显示区,在所述显示区叠加层I,通过JavaScript脚本语言在层I上用html的canvas标签根据显示内容绘制图片;
如果有按键,则将按键所在区域划分为按键区,在所述按键区叠加层2,通过JavaScript脚本语言捕捉发生在层2的点击事件,根据事件发生时点击的位置,与可编程控制器图片上各个按键所在的位置做距离计算,将该事件归为所得距离最近的按键,产生按键事件;
将输出端子所在区域划分为输出区,在所述输出区叠加层3,在层3各个输出端子的对应位置上指示该输出端子的编号以及状态;
将输入端子所在区域划分为输入区;
步骤2:通过JavaScript脚本语言编写与可编程控制器具有相同状态机、逻辑以及功能的仿真程序,搭建可编程控制器的程序仿真模块;
步骤3:通过JavaScript脚本语言以及html标签设计on/off 二元选择控件、文本输入控件用于用户选择数字状态、输入模拟数值;同时,对于没有按键的可编程控制器,则设计按键,供用户点击产生各种按键事件;从而模拟可编程控制器的输入信息及按键事件;
步骤4:通过html标签设计程序指令输入接口,供用户直接编辑程序指令或者导入程序指令文件,并根据用户操作将其编辑或者导入的程序指令作为用户程序存储至仿真系统;步骤5:实时检测步骤I的按键事件以及步骤3的输入信息及按键事件,按照与可编程控制器相同的逻辑进行运行、设置的状态机管理,在运行状态,对程序的运行进行控制;在设置状态,则对各个程序组的程序指令进行添加、修改、删除操作,对程序指令的操作码以及操作参数进行选择设定,同时将程序组作为所述用户程序存储至仿真系统;
步骤6:用JavaScript脚本语言对步骤4者步骤5得到的所述用户程序按照与可编程控制器相同的逻辑对程序指令逐条解析并顺序执行由操作码指定的输出、条件判断、定时、计时、延时、逻辑计算、算术计算中的某一操作;同时将当前运行的程序组编号、程序指令编号、程序指令执行的速度、是否运行程序指令作为参数供用户设置;
步骤7:在运行状态,根据当前运行的程序指令以及运行相关参数生成显示内容;在设置状态,根据设置的程序指令的操作码及操作参数生成显示内容;根据步骤I的判断,如果有所述显示区:则通过JavaScript脚本语言采用html的canvas标签在所述显示区上将生成的显示内容绘制成图片展示;
步骤8:对于步骤6中执行的每条程序指令,根据其执行结果,将每个输出的状态在所述输出区通过html标签指示;根据用户选择的可编程控制器的负载类型,在网页上显示对应负载的实物图片,并用JavaScript模拟负载的控制效果;
步骤9:通过JavaScript脚本语言以及html标签设计控制接口 ;通过该接口用户可以设置步骤6中执行程序指令所需要的参数,启动或者停止程序指令的运行,设置程序组和/或程序指令的编号,以及调整程序指令的执行速度。
[0010]进一步地,在所述输入区叠加层4,在层4各个输入端子的对应位置指示步骤3中模拟的输入信息。
[0011]进一步地,将步骤4或者步骤5得到的用户程序逐条以文本形式描述并显示在网页上,并把当前执行的程序指令高亮显示。
[0012]进一步地,从远程服务器获取预先保存的供示例使用的用户程序,并在网页上展示出来,供用户参考。
[0013]进一步地,建立与其它仿真网页的实时通信连接,用于接收来自其它用户的程序,并自动或者由用户手动操作作为所述用户程序加载至仿真系统运行;同时,根据用户的操作,将步骤4或者步骤5得到的用户程序发送给其它用户所用的仿真系统。
[0014]进一步地,步骤4或者步骤5得到用户程序可以由用户保存至远程服务器。
[0015]进一步地,步骤4或者步骤5得到的用户程序可以通过与可编程控制器的通信连接下载至可编程控制器;所述用户程序可以通过与可编程控制器的通信连接从可编程控制器读取并存储至仿真系统。
[0016]基于网页的可编程控制器的在线仿真系统,其特征在于,所述系统包括:可编程控制器外观模拟模块,可编程控制器程序仿真模块,输入仿真模块,程序指令输入模块,输出仿真模块,系统运行控制模块;
所述可编程控制器外观模拟模块,用于模拟可编程控制器的外观,包括实物图片背景区、输出状态指示区、输入状态指示区:
所述实物背景区在网页上加载并显示可编程控制器的实物图片,将可编程控制器的图片根据器件类型及器件所在位置划分区域;
所述输出状态指示区位于可编程控制器图片的输出端子所在区域,用于模拟可编程控制器的输出接口;其叠加层3,在该层各个输出端子的对应位置上指示该输出端子的编号以及状态;
所述输入状态指示区位于可编程控制器输入端子所在区域;
所述可编程控制器程序仿真模块用于模拟可编程控制器的程序,包括输入检测单元、状态管理单元、程序设置单元,程序保存单元、程序运行单元、显示控制单元;
所述输入检测单元检测所述输入仿真模块的输入信息及按键事件并传递给其它单元及模块使用;
所述状态管理单元用于管理程序状态,其接收来自于所述输入检测单元所传递的按键事件,据此在所述程序状态之间切换;
所述程序设置单元运行在设置的程序状态,通过所述输入检测单元的按键事件,进行程序组的选择,程序指令的添加、修改及删除,程序指令及其参数的选择及设定,并将程序组作为所述用户程序存储至所述程序保存单元
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1