LANGUAGE
日本語 English

関数名

WriteSharedVarArray

定 義

int WriteSharedVarArray ( 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を指定してください。

概 要

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

詳 細

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

備考

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

前処理の候補

後処理の候補

他処理の候補

対応HW

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

使用例


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