2023十堰市SIEMENS工业自动化PLC授权代理商|西门子变频器授权一级总代理|技术|维修
- 供应商
- 广东湘恒智能科技有限公司
- 认证
- 西门子
- S120
- 变频器
- 伺服电机
- G120XA
- 一级总代理
- 联系电话
- 18126392341
- 手机号
- 15267534595
- 联系人
- 梁涛
- 所在地
- 惠州大亚湾澳头石化大道中480号太东天地花园2栋二单元9层01号房(仅限办公)(注册地址)
- 更新时间
- 2024-06-23 09:10
均在step7template.mwp中编写,cpu类型选西门子s7—200系列226cn。
先说程序,测低速(每分钟1000转以下):ldi0.0
ldm20.1
ctuc0,+5000//设定增计数器上限
ldsm0.0
am20.0
tont37,+30//立即接通,延时三秒断开
ldsm0.0
om20.0#p#分页标题#e#
ant37
=m20.0//设定t37定时器复位信号
ldm20.0
ldm20.1
ctuc1,+20//设定增计数器c1上限
ldc1
movwc0,vw200
=m20.2
ldm20.2=m20.1//设定增计数器c1的复位信号
外围电路下面介绍,先讲程序。由i0.0作输入口,t37延时三秒后给c1一个信号,c1计1,然后t37被复位,再延时,3秒后c1计2,…
直到c1计到20。20个三秒就是一分钟,期间i0.0口的脉冲信号由c0计数器计数,计满一分钟就把结果移到vw200中。脉冲信号由外围电路得到。
以上程序能测一千以下的转速,实验时上限是一千四百多吧。由于该程序用的是低速计数器,转速较高时,受plc时钟周期影响,在一分钟时转速还未记好,c0就被清零,所以会有上限。接下来我们用plc内部不受时钟周期影响的高速计数器来测高速(一千转以上):
ldsm0.1
callsbr_0//调用高速计数器初始化子程序
ldsm0.0
am20.0
tont37,+100//设定计时器值,延时10秒
ldsm0.0
om20.0ant37
=m20.0//立即接通延时十秒断开
ldt37
movdhc0,vd100//i0.0为高速计数器hc0输入口,计数结果移入vd100
movdvd100,vd200
mul+6,vd200//计数结果乘以6,放入vd200
ldt37
callsbr_0//t37计时到,调用高速计数器初始化子程序
sbr_0//高速计数器初始化子程序#p#分页标题#e#
ldsm0.0
movb16#f8,smb37//设置控制位:增计数;已使能;
movd+0,smd38//装载cv
movd+0,smd42//装载pv
hdef0,0
hsc0
以上程序测速范围为1000转以上,实验时测得zui高为2500+,因实验条件有限,上限未知。有人会有疑问:你怎么采用的是测10秒,然后将计数结果乘以6当做一分钟的转速,而不直接测一分钟的转速呢?因为转速结果zui后要用数码管显示出来,对观察者来说,10秒以后显示与一分钟后显示相比,前者更好一些。zui后我们采用的是6乘以10的策略。
zui后来说说外围电路吧。外围电路把转速转换成脉冲信号输入plc,上面两段程序用的都是i0.0口。信号的转换和采集用霍尔传感器,
接法如图:vcc接24v,gnd接电源负极,a接信号输入端i0.0,a端和24v间接电阻。接好后将霍尔元件平的一面朝被测物体固定好,如一个轮子,在轮子面上霍尔对应位置安装霍尔磁体。测速原理:轮子每转一圈,磁体和霍尔元件接触一次(其实是接近),它们接触时带来a端电压的降低,由此给plc一个脉冲信号。磁体和霍尔之间间距3至5mm。安装时注意磁体的正反面。
好了,测转速就先说这么多。经过以上这些,测得的数据只是放在plc的内存里,我们可以在软件里监测plc运行情况,看到这些数据。是不是有点麻烦,有没有更好的方法能看到这些数据?当然,可以用led数码管来把数据显示出来
3.在tia 博途中添加库文件,并将库中的easy_sina_pos功能块拖拽到左侧"程序块"中
4.在ob1中调用easy_sina_pos功能块,为功能块各参数添加变量:
注意:对功能块参数hwi dstw及hwi dszw的赋值可以通过点击参数,在下拉菜单中选择对应的西门子报文111选项。
也可以参看下图,在设备视图的报文属性中查询硬件标识符的数值:
5. fb38002功能块输入输出参数说明
modepos | int | 运行模式: 1 = 相对定位 2 = 定位 4 = 主动回零 7 = 按速度点动 |
enableaxis | bool | 伺服运行命令: 0 = 停止(off1) 1 = 启动 |
jog1 | bool | 点动信号1 |
jog2 | bool | 点动信号2 |
mdiposition | dint | mdi运行模式下的位置设定值[lu] |
mdivelocity | dint | mdi运行模式时的速度设定值[1000lu/min] |
executemode | bool | 激活请求的模式 |
refcaminput | bool | 回零开关信号 |
refdirection | bool | 选择回零开始的方向: 0 = 正向寻零 1 = 反方向寻零 |
ackerror | bool | 故障复位 |
hwlimitenable | bool | 激活硬件限位开关: 1 = 激活 |
swlimitenable | bool | 激活软件限位开关: 1 = 激活 |
hwidstw | hw_io | 符号名或simatic s7-1x00设定值槽的hw id |
hwidstw | hw_io | 符号名或simatic s7-1x00设定值槽的hw id |
s7-1500plc的常用模块,s7-1500plc是模块化结构设计的plc,各个单独模块之间可以进行广泛组合和扩展,它的主要组成部分有电源模块(pm/ps)、*处理器模块(cpu)、导轨(rack)、信号模块(sm)、通信模块(cp/cm)和工艺模块(tm)等。
(1)、电源模块(pm/ps)
用于向cpu以及其扩展模块提供+24v dc电源。
pm:无背板总线、不占用槽位,无固件版本(类似ps307)ps:有背板总线,占用槽位,有固件版本(类似ps407)
(2)、*处理器模块(cpu)
主要包括以下几种
标准cpu(比如:cpu1511-1pn)紧凑型cpu(比如:cpu1512c-1pn)分布式模块cpu(比如:cpu1510sp-1pn工艺型cpu(比如:cpu1511t-1pn)故障安全cpu模块(比如:cpu1511f-1pn)通过标红的字母可以区分是什么类型的cpu
(3)、导轨(rack)
是安装s7-1500各类模块的机架,是特制的异形板,标准长度为160/245...2000,可以根据实际选用。s7-300/1200/1500的导轨上无背板总线。但s7-400有背板总线,*。
(4)、存储卡(sd)
用于存储plc程序,可由pc直接读取,不支持热插拔。50万次读取寿命,大32gb
注:s7-300的mmc,pc不能直接读取需用准用读卡器设备。
展开全文