趣文网 > 作文大全

ABB PC SDK 手册学习4中文(作业部落查看)

2020-11-20 16:15:01
相关推荐

Rapid域

数组处理

在rapid里我们可以使用最大3维数组,可以通过类似其他raipid数据类型一样来访问rapid对象主要有两种访问数组中每个元素的方法:索引器或枚举器ArrayData 对象如果RapidData引用了一个rapid数组,则rapid数组是Valueproperty,返回一个ArrayData类型的对象。在进行强制转换之前,使用is操作符或使用RapidData对象上的IsArray属性检查类型。

RapidData rd = aController.Rapid.GetRapidData("T_ROB1", "user", "num_array");if (rd.IsArray) { ArrayData ad = (ArrayData)rd.Value; ..... }

ArrayData类允许将数据读写到rapid数组中。将数据从控制器传输到ArrayData类有两种不同的模式。

Snapshot:在这种模式下,数组的所有项一次传输到ArrayData实例。Dynamic:在这种模式下,特定项目的数据被传输。例如当您使用ArrayData[i,j,k]访问一个项目时,该特定项目的数据将被传输。快照和动态模式都没有对可以传输的字节数施加任何限制。由于数据是按需传输的,因此使用动态模式的数据传输提供了比快照更好的性能。若要使用动态模式,必须将模式设置为“动态”(如果在循环中使用ArrayData)。

arrayData.Mode = ArrayModes.Dynamic;foreach (IRapidData rapidData in arrayData)Console.WriteLine(rapidData.ToString());

当使用RapidData.ReadItem()访问单个项目时,ArrayData模式是无效的。限制不支持使用RapidData.Value.ToString()方法在快照模式下查看大型快速数组。数组维数数组的维数由Rank属性返回。如果需要检查各个数组的长度,可以使用ArrayData对象上的GetLength方法,将维度索引作为参数传递。

int aRank = ad.Rank; int len = ad.GetLength(aRank);

使用索引器访问数组项使用索引器可以访问每个数组元素,即使是在三维数组中。GetLength方法和for循环的组合使访问任何项目成为可能:

double aSum = 0d;Num aNum;RapidData rd = aController.Rapid.GetRapidData("T_ROB1", "user", "num_array");ArrayData ad = (ArrayData)rd.Value;int aRank = ad.Rank;if (ad.Rank == 1){ for (int i = 1; i <= ad.Length; i++) { aNum = (Num)ad[i]; aSum += (double)aNum; } }else if (ad.Rank == 2){ for (int i = 1; i <= ad.GetLength(0); i++) { for (int j = 1; j <= ad.Length; j++) { aNum = (Num)ad[i, j]; aSum += (double)aNum; } }}else{ for (int i = 0; i < ad.GetLength(0); i++) { for (int j = 0; j < ad.GetLength(1);j++) { for (int k = 0; k < ad.GetLength(2); k++) { aNum = (Num)ad[i, j, k]; aSum += (double)aNum; } }} }

使用枚举数访问数组项您还可以使用枚举器操作(foreach),就像. net中的集合使用它一样。注意,它既可以用于一维数组,也可以用于多维数组来访问每个单独的元素。前面的例子要简单得多:

double sum = 0d;foreach (Num ANum in ad){ sum += (double)ANum;}

作业部落查看https://www.zybuluo.com/haozhihao/note/1683821

阅读剩余内容
网友评论
相关内容
延伸阅读
小编推荐

大家都在看

成长作文300字 美好的回忆作文 反省作文 秋作文 景色作文 我的植物朋友作文三年级300字 那一刻我长大了免费优秀作文 高考作文评分标准 自我介绍的英语作文 高考语文满分作文 小学生写人作文 初三生活作文 童话作文400字 有关读书的作文 好习惯作文 传统节日的作文 小乌龟作文 名胜古迹作文 写花的作文 作文例文 采访作文 高三作文 春天来了作文二年级 作文《难忘的一天》 包饺子 作文 我的同学 作文 老师我想对你说作文400字 描写秋天景色的作文 我的爸爸作文300字 描写大海的作文