上海署晓自动化科技有限公司
专销售西门子各系列产品;西门子PLC;S7-200S7-300 S7-400 S7-1200触摸屏,变频器,6FC,6SNS120 V10 V60 V80伺服数控备件:原装进口电机,电线,电缆。
西门子全新原装现货PLC;S7-200S7-300 S7-400 S7-1200 触摸屏,变频器,6FC,6SNS120 V10V60V80伺服数控备件:原装进口电机(1LA7、1LG4、1LA9、1LE1),国产电机(1LG0,1LE0)大型电机(1LA8,1LA4,1PQ8)伺服电机(1PH,1PM,1FT,1FK,1FS)西门子保内全新原装产品‘质保一年。一年内因产品质量问题免费更换新产品;不收取任何费。
实体公司,诚信经营,价格优势,品质保证,库存量大,现货供应!!
采购西门子产品就选;上海署晓自动化科技有限公司
我们承诺七天内无理由退换!
西门子代理商,西门子一级代理商,上海西门子代理商,中国西门子总代理,西门子PLC代理商,西门子变频器代理商,西门子触摸屏代理商
西门子模块6ES7216-2BD23-0XB8工厂直销
在变频器维修中我们经常会听到过压故障,但欠压故障也是变频器使用中常碰到的问题。其产生原因是主回路电压**下限引起的保护动作或整流桥某一路损坏或电网瞬时停电、输入缺相等。
变频器售后人员在变频器欠压故障处理过程中了欠压报警检测电压的方式方法,具体如下:
1.比较器检测
通过稳压管固定比较器一端的电压,被检测的电压取样后再与之比较,通过比较器输出。
2.ADC(模拟/数字转换器)
被检测的电压通过电阻降压取样后,落在ADC可检测的范围,可以通过程序设定电压的报警范围。
主电路中的储能电容,对运行中变频器过压、欠压影响很大。而变频器电路的各种零部件又有一定使用寿命的,一旦变频器零部件达到使用寿命就会带来故障的发生。像主电路中的储能电容或其它零部件的原因都有可能对主电路造成影响,从而使整个变频器发生故障。通常变频器停用时间过长,达到一年以上,则应对储能电容要做一次全面。
对长时间不用的变频器,如何来避免这种现象发生呢?
按照要求,停用的变频器应每隔两三个月通电—次,每次⒛~30分钟。对于长时问不用的电解屯容器,通电时,先加约50%的额定电压,只要加压日刂间在半小时以上,它的漏电流就会降下去,也就可以正常使用了。
对使用年限较长(五年以上)的变频器,也一定要对储能电容器进行容量检测。运行中频繁跳欠电压故障,多数为直流电路的电容器容量不足、有容量下降或失容现象。
例2:根据状态位C0和CC1的状态而跳转的跳转功能指令JZ不改变任何状态位的状态,逻辑操作结果RLO值也会“随着”该跳转功能带到跳转程序段中,供用户程序其它逻辑操作之用(不改变/FC状态)。
示例 两个整数相减并需进行连续判断:
L MW2
L MW8
-I
JZ ZERO // 如果结果等于“0”,则跳转至标号ZERO处
// 结果不等于“0”时所执行的指令
ZERO: // 结果等于“0”时,所要执行的指令
如果用户不熟悉JZ指令和状态位C0和CC1的具体含义,编程时就需要通过比较指令将比较结果存入一个二进制位中,再根据这个二进制位通过JC/JCN指令来控制程序的执行了。
例3:我们实际应用中可能要利用某些协议转换网关(比如说Hilscher公司的NTTAP系列网关)来和某些串口协议的仪表进行通信时,会遇到CRC校验的问题,关于CRC校验时需要判断溢出位是否为1的问题来进行程序的计算。我们以EURO2408的MODBUS通信时需要的CRC校验为例说明CRC校验的步骤:
1、装载16#FFFF到一个16位CRC寄存器;
2、将CRC寄存器的高8位字节与信息中的*个8位字节相异或,结果返回到CRC寄存器中;
3、将CRC寄存器数据向右移动一位;
4、如果溢出的位等于1,则将CRC寄存器与16#A001相异或,结果返回到CRC寄存器中;
4、如果溢出的位等于0,则重复第3步;
5、重复第3、4步骤,直到已经移位了8次;
6、将CRC寄存器的高8位字节与信息中的下一个8位字节相异或,结果返回到CRC寄存器中;
7、重复第3步到第6步,直到信息中所有字节都与CRC寄存器相异或,并都移位了8次;
8、较后的CRC寄存器中的结果即为CRC校验码,较后被添加到信息(数据)的末尾(交换!低8位
在前,高8位在后;)
在第4步中需要判断溢出的位是否为1,如何判断对于整个程序有着重要的影响。我们可以用A>0指令来判断这个条件,具体代码的编写,有兴趣时大家可以根据上面的步骤编写一个自己的CRC程序。
4.结束语
在一般情况下,我们不必考虑这些状态位,但在某些情况下,利用这些状态位并结合一定的指令,可以给我们的编程带来大的灵活性,对于提高自己的编程水平也有一定的作用
通讯与组态]西门子S7-200与上位机通讯,读取温度值的程序范例!
PLC主程序
网络1
// 设置控制方式为自由口通信方式,启动接收字符中断 //
PLC**扫描
自由口通信,波特率为9600,数据位8,停止位1,无校验
初始化RCV,允许RCV,有结束符,检查空闲时间
字串6
结束符为 A
空闲时间为5MS
一次接收的较大字符为6个
启动通信口,接收完成中断
全局允许中断
接收数据
LD SM0.1
MOVB 16#09, SMB30
MOVB 16#B0, SMB87
MOVB 16#0A, SMB89
MOVB 6, SMB94
ATCH INT_0, 23
ENI
RCV VB199, 0
网络2
// 检测温度送VW0 //
转换成实际温度值
从工作站编号送到输出缓冲区
温度送输出缓冲区
LD SM0.0
MOVW AIW0, VW0
/I +54, VW0
MOVW AIW2, VW2
/I +54, VW2
MOVW 1, VW300
MOVW VW0, VW302
MOVW VW2, VW304
网络3
// 设置温度控制上限和下限//
LD SM0.0
MOVW +350, VW4
MOVW +450, VW6 字串7
网络4
// 检测温度**下限,则输出加温 //
LDW< VW0, VW4
A SM0.5
S Q0.0, 1
网络5
// 检测温度**上限,则输出降温 //
LDW> VW0, VW6
A SM0.5
R Q0.0, 1
网络6
//准备传送参数 //
发送字节数据,送VB99
发送检测温度数据,送VW100
发送工作站编号数据,送VW102
LD SM0.0
MOVB 6, VB99
MOVW VW300, VW100
MOVW VW302, VW102
MOVW VW304, VW104
网络7
// 传送数据 //
LD SM0.5
XMT VB99, 0
中断程序
网络1
//通信口接收数据完成后的中断 //
// SMB86 等于16#20,表示PLC收到结速符 //
收到结束符,把收到的数据传到VB400
中断有条件返回
否则继续接收
LDB= SMB86, 16#20
MOVB VB200, VB400 字串5
CRETI
NOT
RCV VB199, 0
\\*******************************\\
VB源程序
Dim x1, k1, k2
Dim p11,p22 '定义变量
Dim aa() AsByte '定义数组
Private SubCommand1_Click() '开始监控,定时器1有效
Timer1.Enabled = True
End Sub
Private SubCommand2_Click() '退事程序,定时器1无效
Timer1.Enabled = False
Cls '清屏 字串4
Unload Me
End Sub
Private Subbbbb_Load() '初始化
Timer1.Enabled =False '定时器1无效
Timer1.Interval =100 '定时器1时间为0.1S
Timer2.Enabled =True '定时器2有效
Timer2.Interval =1000 '定时器2时间为1S
Picture1.ScaleMode =0 '定义纵横坐标
mPort =1 '设定端口号 字串2
MSComm1.Settings ="9600,n,8,1" '设定通讯波特率
MSComm1.bbbbbLen =6 '输入缓冲区为6个字符