事例 製品

FACTOR/AIM 生産物流シミュレーター

FAQ

AIM 内エディタの「式」フィールドに任意の値を設定する方法

ユーザコードで次に示す関数ucvalue()を定義することにより、「代入ジョブステップエディタ」や
「段取り/オペレーションジョブステップエディタ」などの AIM において使用する各エディタの「式」
フィールドに任意の値を設定することが可能です。
(FACTOR/AIM Simulator Tailoring Guide 3.3.4, p.189 参照)


double ucvalue(Case, Expression, Type) /* 「式」フィールドに値を返す関数 */

引数 用途
int Case  関数の動作を決定するために使用
void* Expression  エディタ内で指定した式へのポインタ
char Type  引数 Expression の型を表す文字列(省略可)
 'R'=double*, 'I'=int*, 'S'=char* と対応

次に、関数 ucvalue() の使用例を示します。
なお、この例では簡単のため、引数 Expression および引数 Type を使用していません。


ユーザコード記述例

#include "factor.h"


double ucvalue(int Case, void* Expression, char Type)
{
  swith(Case)
  {
    case 0:    /* 引数 Case が `0' の場合 */
      return 10.0;
    case 1:    /* 引数 Case が `1' の場合 */
      return -10.0;
    default:    /* 引数 Case が `0' でも `1' でもない場合 */
      return 0.0;
  }
}

このように関数 ucvalue() を定義し、AIM において使用する各エディタの「式」フィールドに

  UCVALUE(num, exprssion)


と記入します。(FACTOR/AIM モデリングリファレンス 付録 A, p.392, 表 A.5 参照)


ここで、num は AIM における整数型の属性あるいは変数とします。また、第 2 引数は "NULL" 以外のダミー値として、ここでは '0' を使用しています。 この記述を「オペレーションジョブステップエディタ」の「オペレーション時間」フィールドに記述することにより、 各ロードの属性numの値によって異なる処理時間を必要とするオペレーションを定義可能になります。

なお、当然ですが、上記「ユーザコード記述例」における戻り値を、より複雑な計算式に基づいて計算することも可能です。



FAQ一覧

■よくある質問

購入前

  1. ライセンスはどのように管理されていますか?
  2. プログラミングのスキルは必要ですか?
  3. 講習会はありますか?
  4. 購入前に使ってみることはできますか?
  5. シミュレーション結果はどのような形式で見られますか?
  6. 保守対象を教えてください
  7. Microsoft Access形式とありますが、Accessは必要ですか?
  8. 関連する書籍は販売されていますか?
  9. どのような業界で適用事例がありますか?
  10. モデルはどのように作るのですか?
  11. アメリカで開発されたと紹介されていますが、 ソフトやマニュアルは英語なのでしょうか?

購入後

  1. 使い方などの問合せ窓口はありますか?
  2. 作成したモデルのバックアップはどのようにすればよいですか?
  3. モデルのバックアップをしておこおうと思うのですが、 ファイルサイズが数十MBと大きくて困っています。
  4. 報告会等のプレゼンテーションの時に アニメーションの動画だけを見せたいのですが、アニメーションの動画ファイルを作成する仕組みはありますか?
  5. 作ったモデル使ったシステムを、色々な部署で使わせたいと思っています。 ライセンスを追加しなければならないのでしょうか?
  6. 他社での活用事例を見てみたいのですが、紹介してもらえますか?
  7. センチネルキーを紛失してしまいました。再発行は可能でしょうか?
  8. 「」というメッセージが出て、AIMが起動しません

■専門的な質問

基本機能解説補足

  1. シーケンスルールと選択ルール
  2. デマンドオーダの納期設定
  3. ユーザ定義の離散、連続分布の定義
  4. 高等搬送JS
  5. コンベア搬送について
  6. 検査JS
  7. 統合/分割JS
  8. バッチ定義、バッチJS
  9. 仕掛りロード
  10. シフト残業設定
  11. 手持ちの図面を利用したアニメーション
  12. モデルデータの保存と読込み

こんなときどうする? -モデル化手法

  1. 資源グループメンバ選択ルール[インデックス]
  2. 資源グループメンバによる加工時間の違い
  3. プロセスプランの同期(1)
  4. プロセスプランの同期(2)
  5. プロセスプランの同期(3)
  6. プロセスプランの同期(4)
  7. 生成JSの利用例
  8. 選択JSの利用例
  9. 後段取りのモデル化方法
  10. 自動倉庫(ASRS)のモデル化方法 4例
  11. 冶具資源を用いたアニメーションテクニック
  12. 工場内の特定の中間倉庫の在庫量を知る方法
  13. 搬送車やAGVの積載時に複数の資源を解放する方法
  14. 空車両の制御
  15. コントロールポイントグループの利用例
  16. パーツ毎の完成数を表示する方法
  17. 一般プールの利用テクニック
  18. バッチJS利用例-高等搬送JS,一般プール
  19. パーツによる処理順の制御テクニック
  20. 納入、出荷スケジュールの利用例

ユーザコードを使用したモデル化

  1. ucrstra-資源ステータスの変化イベント
  2. リリース先ロードへの属性の引渡し方法
  3. 選択JS選択ルール
  4. 故障復旧にオペレータを使用する
  5. JSの続きエディタのジョブステップ選択ルール
  6. ユーザコードからダイアログを表示する方法
  7. AIM内エディタの「式」フィールドに任意の値を設定する方法
  8. Windowsの環境設定

モデル化の検証

  1. 残業を設定していないのに残業したという結果になる
  2. ガントチャートについて
  3. 期間実行、事象ビューア
  4. Visual Studioを利用したデバッグ