西门子S7-1200 CPU 与 西门子S7-300 CPU 之间的以太网通信通过 S7 通信来实现。当S7-300 CP343-1(至少标准版)作为客户端,S7-1200作为服务器,需在客户端单边组态连接和编程,而作为服务器端的S7-1200只需准备好通信的数据以及V4.0版本以上CPU需要连接机制。
注意:如果在S7-1200一侧使用 DB 块作为通信数据区,必须将 DB 块定义成非优化块,否则会造成通信失败。
所需要条件:
① S7-1200 /S7-300 CP343-1设备
② STEP7 V11
所完成的通信任务:
① S7-1200 CPU 将本地DB3中的数据写到S7-300 CPU中DB4中。
② S7-300 CPU 通过CP卡将本地DB3中的数据写到S7-1200 CPU中DB4中。
二、S7-1200 CPU 与 S7-300 CPU 之间的以太网通信通过 S7 通信来实现。当S7-1200作为客户端,CP343-1作为服务器,需在客户端单边组态连接和编程,而作为服务器端的S7-300只需准备好通信的数据就行。
所需要条件:
① S7-1200 /S7-300 CP343-1设备
② STEP7 V11
所完成的通信任务:
① S7-1200CPU 将本地 DB3 中的数据写到 S7-300CPU 中 DB4 中。
② S7-300CPU 通过 CP 卡将本地 DB3 中的数据写到S7-1200CPU 中 DB4 中。
脉冲定时器类似于数字电路中上升沿触发的单稳态电路。图1中的指令框是S5脉冲定时器( Pulse S5 Timer),S为脉冲定时器的设置输入端,TV为预置值输入端,R为复位输入端;Q为定时器位输出端,BI端输出不带时间基准的十六进制格式当前时间值,BCD端输出S5T#格式的当前时间值。可以不给BI和BCD输出端*。S、R、Q为BOOL(位)变量,BI和BCD为WORD(字)变量,TV为S5TIME变量。各变量均可以使用I(仅用于输入变量)、Q、M、L、D存储区。
可以用仿真软件plcSIM模拟运行随书光盘中的项目“T_C例程”,来形象地理解定时器和计数器的工作过程。在STEP 7中打开该项目,启动仿真软件PLCSIM,将OB1中的程序下载到仿真PLC,将后者切换到RUN模式。在梯形图编辑器中打开OB1,点击工具条上的■(监控)按钮,启动程序状态监控功能。
图1 S5脉冲定时器
图2 脉冲定时器时序图
图3 脉冲定时器
西门子触摸屏KTP1200编程中编写报警变量时数据类型填word与填int有什么区别?
1、 WORD是无符号的数据类型;INT是有符号的数据类型(**位为1表示负数,0表示正数)。通常情况下WORD用于逻辑运算,INT用于数学运算;在使用梯形图或SCL等语言编程时区分较严格。在使用语句表编程时系统不检测数据类型是否匹配,即WORD与INT在用法上没有什么区别(WORD可做数学运算,INT也可作逻辑运算)
2、数据类型INT 和WORD都是16位存储单元,但是INT是整数存储数据类型,存储的是整数,范围是-32768到+32767。WORD是字数据类型,如果存储数据的话是无符号整数0-65535。在STL语言编程中,数据类型不怎么区分 ,INT和WORD数据类型可以互用,但是在LAD语言编程中如果TNT和WORD数据类型互用会报错的。当然,你也可以在STEP7软件中设置在LAD编程模式下不区分数据类型就可以互用就不会报错了。但是不建议这样使用。
3、如果你要用到负数,那只能用INT 因为INT是带符号的,**位是符号位。那么如果你没有符号需求,可以使用word 当然符号位也是数据,所以范围更大。两者在用法上没有什么区别,但是在在LAD语言编程中如果TNT和WORD数据类型互用会报错的。
4、如果在调用的块中使用,注意块引脚*的数据类型,使用的变量类型必须与引脚的数据类型一致才可以的。当然也要注意存储数值的范围。