本文通过我工作现场的一个实例来跟大家分享下SFB47的使用,SFB47"COUNT"控制计数器,
可以使用下列操作:
*通过软件门SW_GATE启动/停止计数器
*使能/控制输出DO
*检索状态位STS_CMP、STS_OFLW、STS_UFLW和STS_ZP
*检索当前的计数器值COUNTVAL
*读取/写入内部计数器寄存器的作业
*检索当前的持续时间TIMEVAL
下面看看如何使用:
首先看看我们现场时怎么用的,硬件组态是采用314C-2PN/DP的cpu,如下图所示:(具备高速计数功能)

这里要注意的是计数器的地址为816,后面的程序中要用到。
具体程序如下:

这里重点用到了:
LADDR:子模块的I/O地址,由您在"HWConfig"中指定。就是在硬件组态的计数模块的地址816,对应16进制就是330,所以上图中LADDR为W330.
CHANNEL:通道号,不用的模块通道数量也不同,
SW_GATE:使能端用于启动/停止计数器的软件门
COUNTVAL:读取到脉冲值。
下面简单讲讲31X系列CPU具有计数模块如何使用:

1.双击子模块“Counting”(计数)。“Countingproperties”(计数属性)对话框随即打开。
2.选择通道0和连续计数模式。在参数分配屏幕中进行以下设置(不修改其它任何设置,因为进行调试不需要它们):
–输入:硬件门
–输出响应:无比较
3.单击“OK”(确定),确认设置。“Countingproperties”(计数属性)对话框关闭。
4.单击“Station”(站)“Saveandcompile”(保存并编译),将组态保存到项目中。现在,所做的更改便存储在项目中。
5.当CPU处于STOP状态时,请选择“PLC”“Loadtomodule”(装载到模块)来下载组态。现在,数据从PG下载到CPU中。
6.单击“Station”(站)“Close”(关闭),关闭HWConfig。
返回到SIMATIC管理器


本文用有4个高速计数通道,具体接线如下:

通过我工作现场的实际例子跟大家分享高速计数模块的使用,希望本文能对你有一些帮助。
免责声明:本文章如果文章侵权,请联系我们处理,本站仅提供信息存储空间服务如因作品内容、版权和其他问题请于本站联系