オープンMC 分類別FAQ        ●FAQインデックスに戻る
9.PC/DLL−IF
【質問】
9−1.使用できるWINDOWSは?
【対象機種】
 ○SLM4000
 ○PLMC40
 ○PLMC-MU
 ○PLMC-MUEx
 ○SPX8000

【回答】
 Windows98/NT4.0 SP3以降/2000/XP
 に現在対応しております。
 (Vistaは現在確認中です。)
 
【参考文献】
 ○SLM4000
   セッティングPCマニュアル (TB00-0802)「3-2.動作環境」
   ROMSW設定ソフトマニュアル (TB00-0801)「1−2 ROMSW設定ソフトの
                                      使用上の注意」
 ○PLMC40
   セッティングPCマニュアル (TB00-0812)「3-2.動作環境」
   ROMSW設定ソフトマニュアル (TB00-0811)「1−3 使用上の注意」
 ○PLMC-MU
   セッティングPCマニュアル (TB00-0861)「3-2.動作環境」
   ROMSW設定ソフトマニュアル (TB00-0862)「1−3 ROMSW設定ソフトの
                                      使用上の注意」
 ○PLMC-MUEx
   セッティングPCマニュアル (TB00-0901)「3-2.動作環境」
   ROMSW設定ソフトマニュアル (TB00-0902)「1−3 ROMSW設定ソフトの
                                      使用上の注意」
 ○SPX8000
   セッティングPCマニュアル (TB00-0737)「3−2.動作環境」
   ROMSW設定ソフトマニュアル (TB00-0738)「1−3 使用上の注意」

【質問】
9−2.対応可能なVBやVCのバージョンは?
【対象機種】
 ○SLM4000
 ○PLMC40
 ○SPX8000
 ○PLMC-MU
 ○PLMC-MUEx

【回答】
 Microsoft Visual C++ 6.0
 Microsoft Visual Basic 6.0
 です。
 現在、
   Microsoft Visual Basic 2005
   Microsoft Visual C# 2005
   Microsoft Visual C++ 2005
 への対応を準備中です。

【参考文献】
 ○SLM4000
   通信ライブラリリファレンスマニュアル (TB00-0803)「5.使用環境」
   テクノコードプログラム変換ライブラリリファレンスマニュアル (TB00-0805)「5.使用環境」
   Gコードプログラム変換ライブラリリファレンスマニュアル (TB00-0806)「5.使用環境」
 ○PLMC40
   通信ライブラリリファレンスマニュアル (TB00-0813)「5.使用環境」
   テクノコードプログラム変換ライブラリリファレンスマニュアル (TB00-0815)「5.使用環境」
   Gコードプログラム変換ライブラリリファレンスマニュアル (TB00-0816)「5.使用環境」
 ○PLMC-MU
   通信ライブラリリファレンスマニュアル (TB00-0863)「5.使用環境」
   テクノコードプログラム変換ライブラリリファレンスマニュアル (TB00-0865)「5.使用環境」
   Gコードプログラム変換ライブラリリファレンスマニュアル (TB00-0866)「5.使用環境」
 ○PLMC-MUEx
   通信ライブラリリファレンスマニュアル (TB00-0903)「5.使用環境」
   テクノコードプログラム変換ライブラリリファレンスマニュアル (TB00-0905)「5.使用環境」
   Gコードプログラム変換ライブラリリファレンスマニュアル (TB00-0906)「5.使用環境」
 ○SPX8000
   通信ライブラリリファレンスマニュアル (TB00-0724)「5.使用環境」
   テクノコードプログラム変換ライブラリリファレンスマニュアル (TB00-0725)「5.使用環境」
   Gコードプログラム変換ライブラリリファレンスマニュアル (TB00-0726)「5.使用環境」

【質問】
9−3.WINDOWS以外のOSでは、使えるか?
 

【対象機種】
 ○SLM4000
 ○PLMC40
 ○PLMC-MU
 ○PLMC-MUEx
 ○SPX8000

【回答】
 使用できません。
 ドライバやソフトなど専用対応となります。

【質問】
9−4.自作ソフトからパソコンリンク(イーサネット)接続処理を作成しています。
     SXDEF構造体にどう値を設定すればいいものでしょうか?

【対象機種】
 ○PLMC40
 ○PLMC-MU
 ○PLMC-MUEx

【回答】
 SXDEFの値の説明は、
   PLMC40の場合  :「通信ライブラリ説明書TB00-0813.pdf」の6p〜
   PLMC-MUの場合 :「通信ライブラリ説明書TB00-0863.pdf」の6p〜
   PLMC-MUExの場合:「通信ライブラリ説明書TB00-0903.pdf」の6p〜
 に記載があります。そちらをご参照下さい。

 設定例:
   通信形態:パソコンリンク(イーサネット)
   CPU番号:1
   PLMCユニット番号:0
   PLMCスロット番号:2
   IPアドレス:169.254.205.249 (=A9.FE.CD.F9)
   ポート番号:12289 (PLMC40の場合は、設定項目がありません。12289に固定です。)
   バイナリモード:無し
   ロギングファイル名:無し
   ロギングフラグ:無し
   通信フラグに特殊モジュールを使用:有効
   (PLMC40、MUの場合、設定項目がありません。通信フラグとして特殊モジュールは
    使用不可です。)
 の場合
   (PLMC40) (PLMC-MU) (PLMC-MUEx)
   fComType = COMETHLINK; nSize = sizeof(SXDEF); nSize = sizeof(SXDEF);
   nComPort = 1; fComType = COMETHLINK; fComType = COMETHLINK;
   nLptPort = 1; fShare = 1; fShare = 1;
   nBoardId = 0; fLogging = COML_DISABLE; fLogging = COML_DISABLE;
   fShare = 1; *pLogFile = ""; pLogFile = "";
   fSxType = TYPE_PLMC; nCpuNo = 1; nCpuNo = 1;
   nSize = sizeof(SXDEF); nUnitNo = 0; nUnitNo = 0;
   fLogging = COML_DISABLE; nSlotNo = 2; nSlotNo = 2;
   pLogFile = ""; Reserved = 0 Reserved = 0;
   nStation = 1; nComPort = 1; nComPort = 1;
   nCpuNo = 1; nStation = 1; nStation = 1;
   nUnitNo = 0; nComSel = 0; nComSel = 0;
   nSlotNo = 2; fComFlag = 2; fComFlag = 0;
   dwLnkPrm1 = 0xF9CDFEA9; nIpAddr[0] = 169; nIpAddr[0] = 169;
   dwLnkPrm2 = 0; nIpAddr[1] = 254; nIpAddr[1] = 254;
   nIpAddr[2] = 205; nIpAddr[2] = 205;
   nIpAddr[3] = 249; nIpAddr[3] = 249;
   nIpPort = 12289; nIpPort = 12289;
   fBinary = 0; fBinary = 0;
   fPcLnkComDiv = 1;
 となります。
 
【参考文献】
 ○PLMC40
   通信ライブラリリファレンスマニュアル (TB00-0813)
 ○PLMC-MU
   通信ライブラリリファレンスマニュアル (TB00-0863)
 ○PLMC-MUEx
   通信ライブラリリファレンスマニュアル (TB00-0903)

【質問】
9−5.自作ソフトから運転プログラムを実行すると、軸の移動速度が半分になる。
     あるいは、移動速度が指定値と異なる。

【対象機種】
 ○SLM4000
 ○PLMC40
 ○PLMC-MU
 ○PLMC-MUEx
 ○SPX8000

【回答】
 DLLの設定関数TcdSTSelect()やGcdSTSelect()には制御周期を渡します。
 この値が、ROSMWの制御周期とあっていますでしょうか?
 DLLではTcdSTSelect()で渡された値を基に、移動速度やドウェル時間を計算しています。
 その為、渡す値が制御周期と異なる場合は、移動速度が異なります。
 
【参考文献】
 ○SLM4000
   テクノコードプログラム変換ライブラリリファレンスマニュアル (TB00-0805)「TcdSTSelect」
   Gコードプログラム変換ライブラリリファレンスマニュアル (TB00-0806) 「GcdSTSelect」
 ○PLMC40
   テクノコードプログラム変換ライブラリリファレンスマニュアル (TB00-0815)「TcdSTSelect」
   Gコードプログラム変換ライブラリリファレンスマニュアル (TB00-0816) 「GcdSTSelect」
 ○PLMC-MU
   テクノコードプログラム変換ライブラリリファレンスマニュアル (TB00-0865)「TcdSTSelect」
   Gコードプログラム変換ライブラリリファレンスマニュアル (TB00-0866) 「GcdSTSelect」
 ○PLMC-MUEx
   テクノコードプログラム変換ライブラリリファレンスマニュアル (TB00-0905)「TcdSTSelect」
   Gコードプログラム変換ライブラリリファレンスマニュアル (TB00-0906) 「GcdSTSelect」
 ○SPX8000
   テクノコードプログラム変換ライブラリリファレンスマニュアル (TB00-0725)「TcdSTSelect」
   Gコードプログラム変換ライブラリリファレンスマニュアル (TB00-0726) 「GcdSTSelect」

【質問】
9−6.PLMC−MUEXで運転プログラムの書込み時に、ブロック番号は、
     領域オーバーに気をつけて選べばいいのですね?

【対象機種】
 ○PLMC-MUEx

【回答】
 タスク毎のブロック数は、任意です。総数での制限はあります。また、重複はできません。
 例えば、
   タスク0用にブロック0〜7
   タスク1用にブロック8〜15
    ・・・
   タスク7用にブロック56〜63 という感じです。
 
【質問】
9−7.PLMC−MUEXで運転プログラムの書込み時に、領域オーバーの
     チェックしたいのですが、MEMMLTPRGCNV(LPBYTE text,
     LPDWORD size, LPVOID bin, WORD task, short *pno);
     の size が使えるのでしょうか?
      ブロック数とsize の関係は?

【対象機種】
 ○PLMC-MUEx

【回答】
 使えます。
 1ブロック6Kバイト(6144バイト)です。
 使用ブロック数は、「使用ブロック数 = size ÷ 6144」 (小数点以下切り上げ)と
 なります。

 例えば、MEMMLTPRGCNV() でテキスト→バイナリ変換を行ったときの size が
 92Kバイトだった場合、使用ブロック数の計算結果が15.3ブロックなので、
 小数点以下を切り上げて16ブロックになります。
 
【質問】
9−8.PLMC−MUEXで運転プログラムの書込み時に、
     MEMMLTPRGCNV(LPBYTE text, LPDWORD size, LPVOID bin,
     WORD task, short *pno);
     で、pno に入れる値は、どのように選べばいいのですか?

【対象機種】
 ○PLMC-MUEx

【回答】
 pnoは、MEMMLTPRGCNV()関数内で設定されます。呼び出し元で設定する必要は
 ありません。
 MEMMLTPRGCNV()関数では、テキスト先頭行に記述された「PNO__;」の数値を
 設定します。
 例えば、テキスト先頭行に、「PNO10;」と記述されていれば、
 MEMMLTPRGCNV()関数呼び出し後に pno値に 10 と格納されています。
 pno値は、動作プログラムをダウンロードする際(DAT_PROGRAM)に
 パラメータで指定するために使用します
 
【質問】
9−9.ステータス情報の読み出しで
     IODATA の Run ビットで動作終了を確認した直後、
     AXISPOS を読み込むと PosReg が安定するまで少し時間がかかるのですが、
     軸がまだ動いているということでしょうか?

【対象機種】
 ○全機種

【回答】
 移動完了には、何段階かのフェーズがあります。
 (1). 移動指令(移動軌跡発生)完了
 (2). 補間加減速完了 ※ 直線/円弧補間移動の時のみ
 (3). 機械位置(モータ)が指令位置に到達 ※ FB有効の時のみ(ROMSW設定)

 RUN出力は(1)の軌跡発生完了の段階でOFFされます。
 (単独の移動コマンドの場合。プログラム実行の場合は、プログラム終了まで
 ONのままです。)
 そのため、ご質問の件では、(2)(3)の分が残っていると思われます。
 ただし、(2)は補間移動の時のみ発生します。PTP/JOGの加減速は(1)の中に
 含まれます。(3)はROMSW設定の各軸設定でFB有効(FBを割り付け)の軸
 のみ発生します。FB無効の時は機械位置=指令位置なので関係ありません。

 (2)をチェックするには、ステータス情報の各軸ステータスの「ACCたまりあり」
 ビットがOFFする事を確認して下さい。(軸毎(全軸?)のチェックが必要です)

 (3)をチェックするには、INPOS情報を確認して下さい。
  全軸がINPOSになると、INPOS出力がONします。軸毎に必要であれば、ステータス
  情報の各軸ステータスに「INPOS」ビットがありますので、このビットをチェック
  して下さい。 ※ 必要に応じてサーボパラメータの「INPOS量」を設定して下さい
 
 (株)テクノ  http://www.open-mc.com TEL04-2964-3677 FAX04-2964-3322 Email mail@open-mc.com
TOPへ戻る