ここから本文

Factory Automation

よくあるご質問
(FAQ)

Factory Automation

よくあるご質問(FAQ)製品について

  • 文字サイズ変更
  • S
  • M
  • L

製品について

  • FAQ番号 : 16941
  • 公開日時 : 2013/01/17 09:25
  • 印刷

変数が意図しない値に書き変わる現象について

ユーザプログラムで使用している変数が意図しない値に書き変わり,アプリケーションが正常動作しません。
カテゴリー : 

回答

ユーザプログラムを実行するタスクで,浮動小数点(float型,double型)を使用していないかご確認ください。
使用している場合は,タスク起動時に必ずタスクオプションに VX_FP_TASK を設定してください。
オプションを設定していない場合,ユーザプログラムのタスク切替え時に変数が意図しない値に書き変わる場合があります。

なお,タスクオプションについては,タスク起動時にtaskSpawn()の第3引数として指定します。
以下に,タスクオプションに VX_FP_TASK を指定してタスクを起動する例を示します。
タスクオプションの値は,ヘッダファイルtasklib.hで定義されています。
プログラム内でオプション名 VX_FP_TASKをしようする場合は,このヘッダファイルをインクルードしてください。

   #include <taskLib>
   ・・・
  tid = taskSpawn("tMyTask", 100, VX_FP_TASK, 20000, myFunc, 2387, 0, 0, 0, 0, 0, 0, 0, 0, 0);

Shell画面,またはスクリプトファイル(STARTUP.CMD)からタスクを起動する場合は,タスクオプション VX_FP_TASK の値を直接指定してください。

   ・Q24DHCCPU-V, Q12DCCPU-Vの場合
     taskSpawn("tMyTask", 100, 0x1000000, 20000, myFunc, 2387, 0, 0, 0, 0, 0, 0)

   ・Q06CCPU-Vの場合
     taskSpawn("tMyTask", 100, 0x8, 20000, myFunc, 2387, 0, 0, 0, 0, 0, 0)

製品名
MELSEC-Qシリーズ
シリーズ
C言語コントローラ
疑問・問題は解決されましたか?

解決されない場合はこちらよりご質問ください。

仕様・機能に関するお問い合わせ

アンケート:
ご意見をお聞かせください

ご意見・ご感想をお寄せください お問い合わせを入力されましてもご返信はいたしかねます