6FC5372-0AA00-0AA2

供应商
浔之漫智控技术(上海)有限公司
认证
品牌
西门子
型号
模块
产地
德国
联系电话
158****1992
全国服务热线
158****1992
经理
聂聪
所在地
上海市松江区广富林路4855弄88号3楼
更新时间
2023-10-26 04:00

详细介绍

  *近项目用到s7-1500,网上找了fifo队列的实现,有stl语言写的,但stl着实不方便阅读,就自己用scl搞了一个,把队列的基本功能封装成块,用着还行,跟大家分享一下吧。若有缺陷也请大家指出。
  使用方法:操作都是上升沿触发;push触发前请保证数据已写到i_push_data;输出的队首元素front是实时状态,pop触发前按需取用。
1.fb封装:左边是队列操作,右边输出队列状态及队首元素  


2.fb接口参数:队列的数据存在static区queue里面


3.fb源码
3.1 入队、出队


3.2 基本属性


3.3 清零、复位

我们是否遇到过这样的问题:将db块下载到cpu,此db块数据初始化,或者wincc对应的输入值被清零,我们新手如何避免这样的问题?
下面我们看一下db块的界面:


这是db块的声明模式,也是我们创建db块的界面。
我们今天要说的是他的数据视图(视图->数据视图)


这里面多了一个实际值,今天要说的就是他。
我个人感觉把他称呼为实际值不是太准确,也容易与cpu运行中实际值混淆,叫离线实际值更确切一点。其实我们每次下载db块时,都是将这里面的数值下载到cpu,而非初始值。
离线实际值在我们第一次点数据视图切换时生成(如果未切换过,则是下载时生成),生成后,即使再更改初始值,也不会变化,只能手动更改。但是注意一点如果db块的第一个是int格式,则它的值是0(估计程序默认的,毕竟初始化也不是太重要)。如果大家下载db块时想要按初始值开始,个人建议**执行一次初始化数据块(数据视图模式:编辑->初始化数据块)。
回到我们的问题:如果更改数据块后下载,不想更改原先的数据,可以这样操作:在simaticmanager主页面点击在线,将此数据块上载替换原数据块(此时可以看一下这个数据块的离线实际值,和在线实际值一致),然后在这个数据块中更改,再下载,就可以做到不丢失原数据了。


PLC,CPU,触摸屏,变频器,交换机,电机,电线,电缆,低压,

展开全文

我们其他产品
我们的新闻
优质商家推荐 拨打电话