西门子PLC编程实例:FM350-2高速计数器

标签:
fm350杂谈 |
分类: 编程实例 |
【Q】哪位老大用过FM350-2高速计数器,帮忙传个实例上来学习学习。我在做一个升降杆上下距离控制,先谢了。
【A】
在《FM350-2入门指南》和《FM350-2使用入门》中,就列出了西门子的样例程序和库文件的打开办法。
实际应用中,找到相应的任务号传送到DB块的寄存器中。任务号要看《FM350-2安装和参数配置》。
实际应用中,找到相应的任务号传送到DB块的寄存器中。任务号要看《FM350-2安装和参数配置》。
如果在硬件设置里指定了该模块对应的DB块【Module adress for
datablock】,那么模块的逻辑地址和通道地址无需在程序中再次编程设定。
然后调用FC2,同时指定前期生成的DB块号;然后调用FC4,并通过对DBB2设置工作号100或101来对0~3或4~7号通道进行读值;0~7通道对应的编码器值,为DBD148、DBD156……DBD204。
然后调用FC2,同时指定前期生成的DB块号;然后调用FC4,并通过对DBB2设置工作号100或101来对0~3或4~7号通道进行读值;0~7通道对应的编码器值,为DBD148、DBD156……DBD204。
【Q】DBB2设置工作号100或101什么意思
【A】
网络1:M100.0的常闭点一直通;
网络2:必须调用FC2(CNT2_CTR),指定W#16#1即为设定FM250-2的数据块为DB1;
网络3:打开其软件门 DB1.DBX23.0对应第一通道,DB1.DBX23.1对应第二通道,用几个通道就依次置ON几个;
网络4:将任务号100写入DB1.DBB2,工作号100的意思是读前4个通道的计数值;工作号101的意思是读后4个通道;
网络5:调用FC4(CNT2_RD),执行读数,W#16#1同样是指定DB块号。
此时在程序中调用DB1.DBD148,即可获得计数器0的计数值;调用DB1.DBD156,可获得计数器1的计数值。
网络2:必须调用FC2(CNT2_CTR),指定W#16#1即为设定FM250-2的数据块为DB1;
网络3:打开其软件门
网络4:将任务号100写入DB1.DBB2,工作号100的意思是读前4个通道的计数值;工作号101的意思是读后4个通道;
网络5:调用FC4(CNT2_RD),执行读数,W#16#1同样是指定DB块号。
此时在程序中调用DB1.DBD148,即可获得计数器0的计数值;调用DB1.DBD156,可获得计数器1的计数值。
工作号的含义:
其实对简单的使用来说用不到几个的。就用上边提到的就可以读出计数器值了。
http://www.ymmfa.com/attachment/Mon_0810/45_22494_9aa2943e85b92b6.jpg
以下工作号参考使用【《FM350-2使用入门》例程中有提到】
http://www.ymmfa.com/attachment/Mon_0810/45_22494_4ddb9ba664f0a14.jpg
其实对简单的使用来说用不到几个的。就用上边提到的就可以读出计数器值了。
http://www.ymmfa.com/attachment/Mon_0810/45_22494_9aa2943e85b92b6.jpg
以下工作号参考使用【《FM350-2使用入门》例程中有提到】
http://www.ymmfa.com/attachment/Mon_0810/45_22494_4ddb9ba664f0a14.jpg
【Q】DB1.DBB2是数据块db1内的2.0吗?DB1.DBB2的B2是字节2的意思吗,W#16#1是不是模块的地址号啊?
【A】
DB1.DBB2是数据块db1内的2.0吗?
DB1.DBB2的B2是字节2的意思吗
是的,看西门子的数据结构
------------------------------------------------
W#16#1是不是模块的地址号啊?
不是,是定义的数据块号,1是DB1,2是DB2,以此类推
DB1.DBB2的B2是字节2的意思吗
是的,看西门子的数据结构
------------------------------------------------
W#16#1是不是模块的地址号啊?
不是,是定义的数据块号,1是DB1,2是DB2,以此类推