 |
|
 |
 |
 |
| 業界標準の SECS-I/II / HSMSに対応したActiveX 通信コントロール "swing2" |
 |
メディアバージョンに関する重要なお知らせ
swing2メディア・バージョンは USB または パラレルポート にキーを挿す方式を採用しております。
※注 Windows NT4.0はOS自体がUSBサポートしていないため、パラレルポートタイプのみ使用可能です。 |
| 開発環境は、マイクロソフトVisual Studio.NET、Visual C++、Visual Basic、Borland C++ Builder、DelphiなどのActive Xに準拠した32ビット開発環境に対応 |
 |
値段が安い − 初期費用0円、1本89,250円〜
ほとんどの会社が「開発ライセンス」と称し、開発する前に数百万円規模の費用を要求してきます。これは家賃に例えるなら「礼金」に相当し、契約を打ち切っても戻って来ません。また「年間保守契約費」などの形で常にお金を支払わさせる場合もあります。弊社ではこのような請求は一切行っておらず、問い合わせやバージョンアップも無償で提供しています。
また他社は価格を公表しておりませんが、弊社はホームページ上で値段を明らかにしています (→価格を見る )ので、わざわざ見積もりを取る必要はありません。もちろん購入本数に応じた割引金額も一目瞭然です。 |
 |
開発言語を選ばない − VC++、VB、Delphi、.NET対応
G社はVisual Basicには対応しておらず、T社はC++に対応していません。swingはActiveXをサポートする言語であれば、Visual C++、Visual Basic、C++ Builder、Delphiなどさまざまな言語を使って開発することが可能です。もちろん最新のMicrosoftの.NETにも対応しています。
またG社の取扱説明書は英語ですが、swingは日本語で記述されています。
|
 |
無料試用版がある − 購入前に評価可能
試用版をダウンロードしていただき、実際の良さを確かめることが可能です。もちろん費用は0円。購入前にじっくり検討できますので安心です。
|
 |
開発が速い − SMLで記述
せっかく安く購入しても開発に時間がかかったのでは、人件費で余計にかかってしまいます。swingは内部にSMLダイナミックコンパイラを実装しており、メッセージを簡潔に記述できます。プログラムの行数が少なくなれば開発期間も短くなり、バグも減少します。
業界で最もシェアを持っているといわれているG社のプログラムと比較して、いかに簡潔に記述できるかを見てみましょう。ここではC++言語で記述してみます。
【G社のプログラム例】
bool SendS1F3()
{
Emesg.stream = 1;
Emesg.function = 3;
Emesg.wbit = 1;
Emesg.length = sizeof(EMsgBuffer);
Emesg.buffer = EMsgBuffer;
SdrItemInitO( &Emesg );
// 事前にリストアイテムの個数(ここでは2)が必要となる
if ( SdrItemOutput( &Emesg, S2_L, NULL, (SDRLENGTH)2 )
< 0 )
return false;
unsigned long lParamU4 = 5;
// SV : 5 Control state
if ( SdrItemOutput( &Emesg, S2_U4, &ParamU4,
(SDRLENGTH)1 ) < 0 )
return false;
lParamU4 =
17;
// SV : 17 Process state
if ( SdrItemOutput( &Emesg, S2_U4, &ParamU4,
(SDRLENGTH)1 ) < 0 )
return false;
SdrRequest(SdrIdEqp, &Emesg, &Etkx);
UpdateEqpSECS();
return true;
}
【swingのプログラム例】
void SendS1F3()
{
// msg.SetList("s1f3w{<u4 5><u4
17>}");
msg.SetList(
"s1f3w"
"{"
" <u4 5>"
// SV : 5 Control state
" <u4 17>"
// SV : 17 Process state
"}"
);
secs.Send(msg.GetMsg());
}
G社のソースコードを見て何が書いてあるか一目で分かるでしょうか?このメッセージを理解するにはプログラムのコードとして「読解」する必要があり、非常に分かりにくくなっています。それに比べてswingのソースコードは視覚的に捉えることができ、プログラミングの知識のない方でもSEMIの文献や通信仕様書を見たことがある方なら、何が書いてあるかが理解できるはずです。また、行数を比べてみてもG社のプログラムは17行、swingではわずか2行で記述できます(上の例では可読性を上げるために改行しています)。
プログラミングの内容についても分かりやすくなっています。G社のプログラムではリストアイテムの個数を事前に知る必要がありますが、swingでは含まれているアイテム数から自動的に計算しています。このリスト項目数の間違いは最も頻繁に発生するバグの一つですので、その苦労から解放されます。 |
 |
新製品先取り情報
GEM(SEMI E30)に対応した新製品を現在開発中です。
- 受信した全メッセージに対してSEMI E5に準拠した型チェックを行う事ができますので、膨大な型チェック処理を記述する必要はありません。
- デフォルトの返信メッセージを自動的に用意しますので、それを使うこともできますし、独自の返信を返すことも可能です。
- ダイナミックにレポート定義、イベント定義、アラーム定義が可能です。
- VIDの記述にもSMLを使用します。
- 通称GEM300と呼ばれる機能を追加することができます。
こちらも低価格路線を維持する予定です。発売時期は今年の前半を予定しております。 |
 |
制作現場から生まれた低価格なSECS通信パッケージです。使いやすく・わかりやすくを目指して開発されました。
|
 |
受信したSECSメッセージは階層構造で取り込まれます。
|
←→ |
 |
すでに構造が確定しているメッセージでは、必要なデータにダイレクトにアクセス可能!
Dim strResult As String
.List = "{<u2 10 20 30 40>}"
.Pointer = "1[2]"
strResult = .Value ' "30" is returned. |
|
 |
送信時は、SECSメッセージの階層構造を一連の文字列としてセットします。視認性も向上し、直感的なプログラミングが可能になります。プログラム行数の減少・開発工数の短縮・潜在的なバグの減少に役立ちます。
.List = "s2f42w{<a'PP-SELECT'>{{<a'PPID'>" & _
<a'xxxx'>}{<a'1234567890'>}}}"
.List = "s2f42w " & _
"{ " & _
" <a 'PP-SELECT'> " & _
" { " & _
" { " & _
" <a 'PPID'> " & _
" <a 'xxxx'> " & _
" } " & _
" { " & _
" <a '1234567890'> " & _
" } " & _
" } " & _
"} " |
※ ノード(階層構造の各要素)を1つずつ順次追加するようなコーディングも可能です。 |
 |
プログラマに負担を掛けることになる無駄な機能を排除し、低価格化を実現しました。
|
|
 |