LANGUAGE
日本語 English

関数名

WriteSharedVariable

定 義

variant WriteSharedVariable ( int idx, variant val );

戻り値

指定された共有変数の値が返されます。データ型は引数valと同じデータ型にしてください。戻り値のデータ型にはvariant(char型、short型、long(int)型、float型、double型のいずれかという意味です)が指定できます。

引 数

idx:共有変数を指定するインデックス。0~65535の範囲で設定してください。
val:更新する値。データ型にはvariant(char型、short型、long(int)型、float型、double型のいずれかという意味です)が指定できます。インデックス番号が58000~58999の範囲の共有変数は、文字列(Null終端のchar型配列)を扱うことができます。文字列の最大文字数は、Null終端を含まず正味256バイトです。

概 要

共有変数の値(数値および文字列)を更新します。

詳 細

同じインデックスの共有変数に対して異なる型のデータで更新することもできます。
範囲外の領域に文字列を書き込もうとするとランタイムエラーが発生します。範囲内の領域であっても、Null終端以外の文字列を書き込もうとすると、ランタイムエラーが発生します。

備考

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

前処理の候補

後処理の候補

他処理の候補

対応HW

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

使用例


const short s_Idx2 = 20;
const int	CharArrayIdx = 58000;
void main() {
	double a;
	char   Msg[100][256];
	・・・・
	a = pi();
	WriteSharedVariable(1, 0x5a);			// 共有変数番号1の値を90に更新します
	WriteSharedVariable(s_Idx2 - 1, a);		// 共有変数番号19の値を円周率に更新します
	・・・・
	Strcpy(Msg[0], "サンプルです");
	WriteSharedVariable(CharArrayIdx, "ABCD");	// 共有変数番号58000の値を更新します
	WriteSharedVariable(CharArrayIdx + 6, Msg[0]);	// 共有変数番号58006の値を更新します
	・・・・
}