网上有关“如何从上位机或者触摸屏设定Time或S5Time值”话题很是火热,小编也是针对如何从上位机或者触摸屏设定Time或S5Time值寻找了一些与之相关的一些信息进行分析 ,如果能碰巧解决你现在面临的问题,希望能够帮助到您。
首先必须在上位机上安装WINCC或WINCC Flexible,然后打开软件如WINCC Flexible ,利用向导或手动创建一个项目:
选择设备如下:
双击connections,在打开的页面中定义连接并定义相关的通讯参数 。
双击Tags,在打开的页面中定义Tag:
打开画面 ,插入一个INPUT/OUTPUT域并选择对应格式。最后插入文本输入域。
完善项目并下载 。此处以毫秒为例,用户当然可以定义自己的时基,然后在PLC程序中换算即可;如果此处定义为秒 ,则在PLC程序中可对对应变量乘以1000转化为毫秒再送给TIME变量即可。
在PLC侧设定对应的系统参数(MPI地址和波特率等),然后可创建TIME变量。插入DB块并定义变量如下图:
打开OB1输入如下指令,MD30为上位机写入的数据,DB3.DBD0为PLC中定义的数据 ,也可以不经过转换直接用MD30作为Time变量的输入值,也就是说FB41的TI和TD可以用DM30,也可以用DB3.DBD0 。
然后我们即可将DB3.DBD0赋给相应的IEC定时器或功能块的Time变量作为设定值 ,如下图中的FB41的TI和TD。
如需将其上位机的设定赋值给S5TIME变量时我们需要将设定值进行转换。首先介绍一下S5TIME的数据格式,如下图所示:
参照上面的方法在上位机定义一个WORD(或INT)类型的变量,例如下图中的MW34
在STEP7中首先定义一个DB块并定义一个S5TIME数据类型的变量:
打开符号表编辑符号:
打开OB1 ,用I_BCD指令将整数转换为BCD格式,需要注意写入的整数最大值为999,否则 ,I_BCD会出错(如果千位数存在并小于等于3,编程上讲应该不会出错,但可能达不到你想要的设定值 ,如果千位数存在并大于3后面的转换将会出错),然后将其与时基做或运算(例子中W#16#3000表示时基位10秒,时间值为0,因为最高4位为0011 ,如果是W#16#2000,则表示时基位1秒,时间值为0 ,因为最高4位为0010),并通过MOVE指令送入定义的S5TIME数据类型的变量中 。
编辑调用指令:
打开变量表观察,当M0.0为1时MW34中的值已经转化为S5TIME的格式并存储到定义的DB1.DBW0中
当M0.1从0变为1 ,T0按设定值运行
也可通过在线的方法来观察程序
做一个简单计时器为例,先建立变量表,如图1所示。
将变量同步到HMI中 ,如图2所示。
制作一个5S定时器的程序,如图3所示
画一个数码管,附加开始/停止按钮 ,以及复位按钮。如图4所示 。
重点---事件功能与实现(按钮):
1单机按钮右键---2单机属性---3找到事件选项,会看到单机、按下释放 、激活、取消激活、更改等选项-----4根据不同的用法选择事件,也可以同时选择----5开始/停止按钮我选择了按下,单机按下会加到添加函数 ,我们点开添加函数发现很多的函数指令-----6找到取反位选择。如图5所示
重点---动画功能与实现(数码管):
1单机按钮右键---2单机属性---3找到动画选项,会看到总览 、显示、移动等选项-----4本次数码管选择了显示,添加新动画选择了外观----5在外观中连接WINCC变量-----6选择类型是范围还是多个位 ,因为数码管变量是布尔型变量,只有0和1,我选择了范围 ,当变量为0时数码管不亮,当变量为1时数码管点亮。如图6所示 。
关于“如何从上位机或者触摸屏设定Time或S5Time值 ”这个话题的介绍,今天小编就给大家分享完了 ,如果对你有所帮助请保持对本站的关注!
本文来自作者[任我上青云]投稿,不代表吾尔凌立场,如若转载,请注明出处:https://wap.kino520.cn/zhis/202510-25850.html
评论列表(3条)
我是吾尔凌的签约作者“任我上青云”
本文概览:网上有关“如何从上位机或者触摸屏设定Time或S5Time值”话题很是火热,小编也是针对如何从上位机或者触摸屏设定Time或S5Time值寻找了一些与之相关的一些信息进行分析,...
文章不错《如何从上位机或者触摸屏设定Time或S5Time值》内容很有帮助