西门子中央处理单元6ES7288-1SR60-0AA1
西门子中央处理单元6ES7288-1SR60-0AA1
在PCS7的CFC中,有一个W_BO和一个DW_BO的功能块,十分方便,直接输入连接的状态字,输出便会列出bit0——bit15的值,这在做DP通讯时经常用过,比如控制变频器,它的状态常常是在一个字取某位,如运行信号、备妥信号等。 在一个老CPU中,也用到DP了通讯,要在一个双字中取某位显示状态,不支持用CFC编程,所以无法傻瓜式的取到了,只能手工指定其中的bit位了。这时竟然字中高字节与低字节的对应关系,自己把自己晕了半天,后来回顾了下,终于搞明白了,看来傻瓜的编程方式是把自己弄得更傻瓜!呵呵 直接上两个图吧,是关于双字、字、字节、位之间的关系的,看看便明白了! 一定要注意高8位与低8位与字的对应关系! 图1:字、字节、位之间的关系 |
经常有用户咨询FB的接口变量类型IN_OUT、STAT、TEMP在使用上有何区别,以下通过一个简单的例子进行说明。运用FB块编程计算公式:(A+B) * C = D,在程序中需要通过一个中间变量(例如其变量名定义为“TEMP_value”)传递“A”和“B”相加的结果,然后再乘以“C”得到终结果“D”;将中间变量“TEMP_value”分别定义为IN_OUT、STAT或TEMP类型后做如下测试。 首先创建FB1,在IN接口类型中新建A、B、C 三个变量,数据类型INT;在OUT接口类型中新建D 变量,数据类型INT;在OB1中调用FB1,并生成对应的背景DB块DB1。 情形一,将中间变量“TEMP_value”定义为IN_OUT类型时,接口定义及程序如图1: 图1 中间变量“TEMP_value”定义为IN_OUT类型 下载到CPU中执行程序监控,在调用FB1的接口参数处和背景DB块中都可以监控到变量“A”和“B”相加的中间结果“TEMP_value”,如图2所示。 图2 中间变量“TEMP_value”定义为IN_OUT时的在线数据 情形二,将中间变量“TEMP_value”定义为STAT类型时,接口定义及程序如图3: 图3 中间变量“TEMP_value”定义为STAT类型 下载到CPU中执行程序监控,仅能在其背景DB块中监控到变量“A”和“B”相加的中间结果“TEMP_value”的值,而在调用FB1的接口参数处无该中间变量,如图4所示。 图4 中间变量“TEMP_value”定义为STAT时的在线数据 情形三,将中间变量“TEMP_value”定义为TEMP类型时,接口定义及程序如图5: 图5 中间变量“TEMP_value”定义为TEMP类型 下载到CPU中执行程序监控,既不能在其背景DB块中监控到变量“A”和“B”相加的中间结果“TEMP_value”的值,也不能在调用FB1的接口参数处看到该中间变量,如图6所示。 图6 中间变量“TEMP_value”定义为TEMP时的在线数据 对于同一个中间变量,在FB中定义为不同的参数类型时,其接口参数和对应的背景数据块的显示都不尽相同。所以在不同的需求下可自行定义中间变量的类型,以满足不同的需求。西门子创新工业之道是“知其道,用其妙”,编程也不例外,知“FB接口类型”之道,用其妙 |
- 西门子中央处理单元6ES7288-1ST40-0AA1 2024-05-08
- 西门子中央处理单元6ES7288-1SR40-0AA1 2024-05-08
- 西门子中央处理单元6ES7288-1ST30-0AA1 2024-05-08
- 西门子中央处理单元6ES7288-1SR30-0AA1 2024-05-08
- 西门子中央处理单元6ES7288-1ST20-0AA1 2024-05-08
- 西门子中央处理单元6ES7288-1SR20-0AA1 2024-05-08
- 西门子中央处理器6ES7288-1CR60-0AA0 2024-05-08
- 西门子中央处理器6ES7288-1CR40-0AA0 2024-05-08
- 西门子中央处理器6ES7288-1ST60-0AA1 2024-05-08
- 西门子中央处理器6ES7288-1SR60-0AA1 2024-05-08
- 西门子中央处理器6ES7288-1ST40-0AA1 2024-05-08
- 西门子中央处理器6ES7288-1SR40-0AA1 2024-05-08
- 西门子中央处理器6ES7288-1ST30-0AA1 2024-05-08
- 西门子中央处理器6ES7288-1SR30-0AA1 2024-05-08
- 西门子中央处理器6ES7288-1ST20-0AA1 2024-05-08