- 发布
- 上海卓曙自动化设备有限公司
- 品牌
- 西门子
- 参数
- SIEMENS
- 型号
- S7-1500
- 电话
- 17307403740
- 手机
- 19151140562
- 发布时间
- 2023-04-18 11:20:12
佛山西门子S7-1500PLC模块代理商专业价优佛山西门子PLC代理,佛山西门子S7-1500代理,西门子PLC代理
西门子S7-300/400的数据形式转换指令I DI、DI R用于16位整数与32位整数、32位整数与浮点数之间的转换;ROUND和TRUNC的作用与意义与S7-200相同,用于对浮点数的小数部位处理;CEIL、FLOOR是当浮点与整数相差很大时的两种不同处理方式。
I_DI指令可以将16位整数转换为32位整数,其实质只是将符号位从原16位整数的bit15移到32位整数的bit31上,其余数据不变或增补0而已。
ROUND指令是将浮点数的小数部分四舍五人转换成双整数;TRUNC指令是将浮点数的小数部分舍去转换成双整数。
顺序功能图如图5-2所示,图中有两个T37,它们的意义完全不同。与M0.1步相连的动作框中的T37表示T37的IN输人端在MO.1步应为1状态,在梯形图中,T37的IN输人端与M0.1的线圈左侧相连。转换旁边的T37表示T37延时接通的常开触点,它被用来作M0.1和M0.2之间的转换条件。
设计起保停电路的关键是找出它的起动条件和停止条件。根据转换实现的基本规则,转换实现的条件是它的前级步为活动步并且满足相应的转换条件。步M0.1变为活动步的条件是步M0.0为活动步,且二者之间的转换条件I0.0=1。在起保停电路中,则应将代表前级步的M0.0的常开触点和代表转换条件的I0.0的常开触点申联后,作为控制M0.1的起动电路。
开M0.1和T37的常开触点均闭合时,步M0.2变为活动步,这时步M0.1应变为不活动步,因此可以将M0.2=1作为使存储器位M0.1变为OFF的条件,即将M0.2的常闭触点与M0.1的线圈申联。上述的逻辑关系可以用逻辑代数式表示为:平始自说关
由于浮点数的数据表示范围要远远大于双字长整数。当浮点数的值大于整数时,通过CEIL指令,可以将浮点数转换为大于等于该浮点数的*小整数;通过FLOOR指令,可以将浮点数转换为小于等于该浮点数的*大整数。
佛山西门子S7-1500PLC模块代理商专业价优佛山西门子PLC代理,佛山西门子S7-1500代理,西门子PLC代理
S7-300/400的数据形式转换指令BCD_I、I_BCD、BCD_DI、DI_BCD用于十六进制数与BCD之间的转换。
编程需要注意以下几点。
a.S7-300/400的BCD数据只能对字、双字长的数据进行,不能用于字节。
b.指令 BCD 1、I BCD用于16位整数与BCD间的转换,由于数据带符号,因此只能转换3位BCD码,BCD数据的范围为-999~ 999。指令BCD_DI、DI_BCD用于32 位整数与BCD间的转换,同样带符号,因此只能转换7位BCD码,BCD数据的范围为-9999999~ 9999999。
16位整数的BCD存储格式
2.局部变量的类型
TEMP(临时变量):暂时保存在局部数据区中的变量。只有在执行该POU时,定义的临时变量才被使用,POU执行完后,不再使用临时变量的数值。在主程序或中断程序中.局部变量表只包含TEMP变量。子程序中的局部变量表还有下面的3种变量:
IN(输人变量):由调用它的POU提供的输人参数。
OUT(输出变量);返回给调用它的POU的输出参数。
IN_OUT(输人/输出变量);其初始值由调用它的POU提供,被子程序修改后返问给调用它的POU。
3.局部变量的赋值
在局部变量表中赋值时,只需指定声明局部变量的类型(TEMP,IN,IN_OUT或OUT)和数据类型(参见SIMATIC和IEC1131-3的数据类型),但不指定存储器地址,程序编辑器自动地在L存储区中为所有局部变量指定存储器位置。
32位整数的BCD存储格式
d.当16位、32位整数转换为BCD时,如果出现大于9的十进制数值(如1100等),或者转换后的数值超过了BCD格式允许存储的范围,将出现转换错误,并导致PLC的停止。
软件中有自带的系统功能和功能块,学习这些块还是要找F1帮忙,自己做好笔记。
4、入门阶段
此阶段就需要学会编辑人机界面了,人机界面可以显示设备运行状态,也可以对设备进行控制。画面种类也很多,就说西门子自家的wincc吧。
我们做工程都是用 wincc70以上的版本了,但自学的话不建议安装7.0及以上版本,原因是对电脑硬件要求高,一般机器跑起来很吃力。推安装 wincc62版本,此版本功能完全能满足你学习需要,五年前的电脑就能跑的起来。软件很好找,英语不好的建议下载中文版。
安装完编辑界面就是这个样子,不是说软件复杂,是杂!
这个是做过的一个小项目,只有一些泵和阀,控制逻辑都很简单。在画面中可以显示压力,流量之类的信息,也可以对设备操作控制。学会做这样的一个画面需要多长时间?一周就够了!没错,就是一周!这画面看起来貌似挺复杂的,其实就是简单的连了程序中的变量,没有控件,没有脚本!
入门成功相当于什么水平?大学毕业的水平吧,可以找工作了!什么样的工作?电气维护、比如水站、液压站之类以控制泵阀为主的区域。当然你去了以后是要学习硬件的,逐步迈向中级阶段。