资源描述:
《WinCC课程设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、工业组态课程设计题目:基于WinCC的运料小车控制系统监控界面设计院系:物理与电气工程学院班级:学号:姓名:基于WinCC的运料小车控制系统监控界面设计监控界面如下图所示,画面大小为800×600。设计任务:实现小车的自动运料方式与单动运料方式。单动运料过程:小车首先位于最左方,在后限位开关指示灯为绿色时,小车车门关闭,小车车厢上的煤为空,此时小车开始启动,向右运行,当运行到漏斗正下方时,前限位开关指示灯由红变绿,漏斗门打开,定时器开始计时7s(70×100ms),小车车门打开,开始卸煤,定时器开始计时5s(5
2、0×100ms),卸煤完成,小车停止。自动运料过程则为单动过程的不断重复。另外需组态两个按钮,停止按钮与复位按钮,停止按钮用来控制小车在单动与自动运料过程的停止。复位按钮则用来对小车进行复位,即小车回到如图所示的初始状态下。设计要求:1.创建如图所示的过程画面。2.创建所有使用的内部变量并作变量说明(包括变量的数据类型、名称以及作用,可列作表格写出)。3.写出4个按钮的左键事件的C动作程序代码。4.写出全局脚本程序代码(自动运行脚本程序与单动运行脚本程序),并要求写出所用的触发器。设计如下:1.创建过程画面如下
3、:内部变量数据类型名称作用flag1二进制单动标志位控制单动flag2二进制自动标志位控制自动xiaochex无符号16位小车位置控制小车位置qianxiankaiguan二进制前限位开关限位开关houxiankaiguan二进制后限位开关限位开关cheshachuxian二进制车沙出现控制小车沙出现loudoushanxiaoshi二进制漏斗沙控制漏斗沙出现T5无符号16位定时5S定时T7无符号16位定时7S定时loudoumen二进制漏斗门控制漏斗门xiaochemen二进制小车门控制小车门2.所使用的内部
4、变量:3.个按钮的C动作程序代码:自动:SetTagDWord("flag1",1);单动:SetTagDWord("flag2",1);停止:SetTagDWord("flag1",0);SetTagDWord("flag1",0);复位:SetTagDWord("flag1",0);SetTagDWord("flag1",0);SetTagDWord("xiaochex",0);4.全局脚本程序代码:单动程序:#include"apdefap.h"intgscAction(void){DWORDvalue,
5、valueT5,valueT7;intbit1;SetTagDWord("T5",50);SetTagDWord("T7",70);SetTagDWord("loudoushanxiaoshi",1);bit1=GetTagDWord("flag1");while(bit1){bit1=GetTagDWord("flag1");value=GetTagDWord("xiaochex");value+=10;if(value>640){value=640;SetTagDWord("xiaochex",value)
6、;SetTagDWord("qianxiankaiguan",1);//前限位开关变色SetTagDWord("loudoumen",30);//漏斗门开SetTagDWord("loudoushanxiaoshi",0);//漏斗沙消失SetTagDWord("cheshachuxian",1);//车沙出现while(bit1){valueT7=GetTagDWord("T7");//定时7SvalueT7-=1;if(valueT7<=0){valueT7=0;SetTagDWord("T7",value
7、T7);//车沙出现SetTagDWord("loudoumen",0);//漏斗门开关SetTagDWord("loudoushanxiaoshi",1);//漏斗沙出现SetTagDWord("qianxiankaiguan",0);//前限位开关变还色while(bit1){value=GetTagDWord("xiaochex");value-=10;if(value<=0){value=0;SetTagDWord("xiaochex",value);while(bit1){SetTagDWord("x
8、iachemen",1);//che门开SetTagDWord("houxiankaiguan",1);//hou限位开关变色valueT5=GetTagDWord("T5");//定时5SvalueT5-=1;if(valueT5<=0){valueT5=0;SetTagDWord("cheshachuxian",0);SetTagDWord("houxiankaiguan",0);