LANGUAGE
日本語 English

関数名

ReadSharedVarArray

定 義

int ReadSharedVarArray ( int sharedVarIdx, int numOfData, variant mosArray[], int idx1, int idx2 );

戻り値

正常終了では0が、異常終了では1が返却されます。

引 数

sharedVarIdx:リード対象の共有変数のインデックス先頭番号を0~65535の範囲で指定します。
numOfData:リード対象の共有変数のデータ個数を、1~200の範囲で指定します。
mosArray[]:コピー先の配列変数名を指定します。配列要素数はNumOfDataよりも大きな値である必要があります。配列のデータ型にはvariant(short型、long(int)型、float型、double型のいずれかという意味です)が指定できます。
idx1:コピー先の配列の先頭要素番号を指定します。
idx2:0を指定してください。

概 要

共有変数の指定された一連のデータを配列とみなしてリードし、指定の配列へコピーします。

詳 細

リードするのは、sharedVarIdxを先頭とするnumOfData個分の共有変数のデータです。コピー先はmosArrayで指定された配列名の、idx1で指定された要素番号を先頭とする要素です。
すなわち、共有変数の(sharedVarIdx)番目のデータはmosArrayで指定された配列の(idx1)の要素にコピーされ、共有変数の(sharedVarIdx+1)番目のデータはmosArrayで指定された配列の(idx1+1)の要素にコピーされます。同様に、共有変数の(sharedVarIdx+numOfData-1)番目のデータはmosArrayで指定された配列の(idx1+ numOfData-1)の要素にコピーされます。
コピー先の配列要素数はnumOfDataよりも大きな値でなければなりません。これは、例えばnumOfDataに100を、idx1に10を指定した場合は、配列の要素数として110以上が必要になるということです。
リード対象の共有変数のデータ型と、コピー先のデータ型が異なると正しい結果が得られないので、データ型は同じにしてください。
本関数で取り扱えるコピー先の配列は1次元配列のみです。
本関数ではコピーの対象は共有変数、配列ともにshort型、long(int)型、float型、double型のいずれかに限られます。

備考

共有関数の詳細は「MOS関数で扱うリソース」の共有変数を参照してください。

前処理の候補

後処理の候補

他処理の候補

対応HW

〇PCベースコントローラ
〇InterMotion

使用例


void main() {
	short  MDataRd[10];
	double posArray[110];
	int rc;
	・・・・
	//共有変数の0番目から10個分の一連のデータをMDataRd[0]~MDataRd[9]にコピーする
	rc = ReadSharedVarArray(0, 10, MDataRd, 0, 0);
	・・・・
	//共有変数の10010番目から100個分のデータをposArray[10]~posArray[109]にコピーする
	rc = ReadSharedVarArray(10010, 100, posArray, 10, 0);
	・・・・