各位老师大家好:
想问您几个关于为变量选择“数据类型”的问题。
我在给添加的变量在WinCC中选择合适的数据类型上总弄不清楚。我只知道一般浮点型数据选32位;BOOL型是1位(二进制变量);整型是16位;一个字是16位。别的就基本没什么概念了。所以想借此机会好好和老师学学关于数据类型的知识。
1.如果选择相同的变量类型的在C语言、STEP7和WinCC中有区别吗,是通用的吗?C语言、STEP7和WinCC中的变量类型种类是都一样吗?
2.变量的选型原则。给什么样的变量选择什么样的数据类型?
3.我看《深入浅出》中介绍的WinCC变量有以下9种:二进制变量、有符号8位数、无符号8位数、有符号16位数、无符号16位数、有符号32位数、无符号32位数、32位浮点数、64位浮点数。它们都是分别应用定义什么样的变量上?
我接触WinCC、STEP7的时间不长,C语言又学得不好,让大家见笑了。不过还得请各位老师多多帮助。
最佳答案
1.wincc\c\step7的变量不完全一样。wincc的变量主要是二进制,整数(8位、16位、32位的区别在于范围大小,有符号和无符号的区别在于正负),自然数,字符。c语言的数据类型多了,除了基本的类型如wincc那样的,还有构造类型、指针类型、空类型。step7的类型很多的,基本类型和wincc差不多,就是时间类型不同,step7的时间类型很多但到wincc里只是用整型表示。另外step7还有复杂数据类型(复合时间、数组、用户定义类型、功能块类型等)、参数数据类型。
2.比如读取温度的值就用32位浮点数,读取开关量就用布尔型,读取用户输入的文本就用字符串型等等了。反正和他们的范围有关。
3.布尔型用于定义开关量,整型用于定义变量的地址、没有小数的计算值、通讯的值等等,浮点数可以表示小数,所以有小数的就用浮点数表示,比如温度的值等,或者整型的范围不够时用浮点数可以表示。
提问者对于答案的评价:
非常感谢各类老师的解答!
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc270677.html