10件目を表示しています。モーションで多軸制御をしていると、シーケンスで同じ回路を沢山書く場面に良く遭遇しますね。警報回路とか、各軸の位置決め回路とか。同じ回路の展開はコピペ+デバイス置換で作ってゆく事が多いと思いますが、どうしてもタイプミスが残ってしまって、立ち上げ時にすぐに動かなかったり潜在バグになったり、変更の際の打ち込みの手間が大変だったり、悩みの種です。したら良いかなと考えていたところで、ふと三菱のGXWorks2の編集で右クリックしてみると、「CSVファイルからの読出」「CSVファイルへ書込」メニューがあるではないですか!ということで、今回はこれを試してみました。GXWorks2の回路編集状態で右クリックすると、コンテキストメニューが出てきます。その一番下に、ありますネ。私が実行した手順は、以下のとおりです。文字コードの変換GXWorks2で読み込み標準的な回路を1つ作って、CSVファイルへ書き込む多軸展開したい回路のベース回路をひとつ、ラダーで作ります。ここで、次のような注意点があります後で変更する可能性がある回路はできるだけ無くしておく。実際の運転プログラムからの指令やインターロックなど、軸単位で異なる条件や、現場で変更しそうなところは、総合接点として入れておき、そのコイル回路を別プログラムに書くような構成です。デバイスマップをよーく考えて作っておく当然ながら、デバイスのマッピングには細心の注意を払い、無駄なく、デバイスのかぶりがないように設計しておきます。書込んだCSVファイルを参考に、EXCELで編集ここは腕の見せ所です。CSVで書きだしたファイルは、ニモニック表記になっています。言わずに良く見ているとすぐに理解できてきます。多軸展開となる部分や、位置決めポイント展開となる部分などは変数としてEXCELでデバイス番号の計算式を作ります。書き出しのために1行にしないといけないので、その部分は軸数ぶんのコピペは仕方ないでしょう。必要に応じてマクロ化したりすれば、割と簡単になりそうですけど、変更しやすいように作っておくのがミソなので最小限がオススメです。最終行に「END」をお忘れなく。書き出した時のCSVを参考に、1シートの縦に長ーいシートをつくり、それをタブスペーサのテキスト形式で保存します。CSV形式で保存すると、カンマ区切りになってしまうので、GXWorks2で読み込めません。タブ区切りで保存しましょう。私の場合はテキスト形式でやりました。私のローカルPC環境の問題かもしれないですが、Shift-JISで書かれたタブ区切りのCSVファイルは、読み込みに失敗します。テキストエディタで開いて、unicodeで保存。その後、拡張子をcsvに変更します。GXWorks2で読み込み例の右クリックのコンテキストメニューで、読み込みます。表示中のプログラムにごっそり上書きされるので、要注意。C/C++久しぶりに、仕事で使うツールを購入。今回は、新分野へ飛びこみます。組み込み用途として使われる、三菱のC言語コントローラーと、その周辺ツールソフト。これがまた、高いんですよ。ハードとソフト合わせると、定価ベースだと50万円オーバーします。キャンペーンで30万円くらいで買えたけど、うちは個人企業ですからね、私一人の稼ぎで回収しなければいけない。なんというか、笑っちゃいます。キャンペーンのお知らせ(pdf)今のうちに勉強しておいて、食い付ける時がきたらガブっとね。うまく行けばどんどん仕事請けて、がっちり儲けるのだあぁー。Q24DHCCPU-V用SW4PVC-CCPU-JC言語コントローラ用の周辺ソフト購入。プログラム3年前に納めた、シーケンサのデータロギングシステムの追加改造案件の見積書を提出した。三菱のデータロガーユニットは、当時は出たばかりで使い辛いことこの上なかったのだが、声を大にして改善要望を出し続けた結果、少しは反映されて良くなったらしい。Cube関連で蓄積してきた知識も活用して効率的にこなそうと思う。それの当時はJavaScriptで苦労して使ったグラフツールもきっと進化しているだろうし。毎度言うけど、シーケンサとPCソフト、サーバーソフトをある程度使えるマルチドメイン業務には、私のような人間は重宝されるらしい。いうことで、受注が楽しみ。6月~7月に仕事がぽっかり空きそうだったので、思い切って利益を最小限にカットして回答したところ受注できた案件です。一人でやっていると出てゆくお金が少ない分、こういう時に融通が効きますね。仕事の中身は、この時の日記にも書いたように、RS485で専用制御機器と通信せねばならず、それなりに手がかかるだろうけど何とかなるさ、とたかをくくっていたところ。枝葉の部分で事前準備が完全に整っていなかったところに、お客様から早速の多数の要望の洗礼。耳栓必須な騒音職場で、耳栓していてもうるさくて、昼間の調整が終わったら早々に定時で引き上げ、夜な夜なホテルでソフトを作り上げる毎日でした。終わってみれば、実にスムーズに完了し、予定より1日早い引き渡しとなった次第。今日、20ページオーバーの画面操作説明書を暫定版で提出し、一区切り付きました。成功のカギは、事前の準備で一番危うそうなところを重点的に済ませてあったことと、現地でお客様が早めに要望を出してくれたことでしょうか。ここにきた時だけ味わえる、この肉!たまには、良いよねー。プログラム仕事で、シーケンサからRS485マルチドロップ通信にて、とある制御機器と通信することになった。シーケンサの計算機リンクユニットは、元々はその名の通り計算機(コンピュータ)との通信を目的に開発されてきたものであって、シーケンサは割と我儘言ってもコンピュータ側でプロトコルなりを調整してくれるはずであった。相手が制御機器だとそうはいかない。伝文にチェックサムの有/無混在していたり、ACKのみ送信してきたり要求してきたり、色々な仕様に対応しないといけないから、きっとアウエイな仕事の進め方をせざるを得ないんだろう。思って三菱のコールセンタで相談したところ、今回は想定していた「無手順」方式ではなく「通信プロトコル」方式の通信を使うことで解決できるとわかった。設定・デバグツールが開いて使える。(以前のGX-Developer1には付属せず、別途Configulator-SCというソフトを購入する必要があったのだが、さすがに新しいほうのWorks2だと同梱されていたので助かった。)シーケンサと通信シミュレーションを行うための、PC上のシミュレータはVB.netで作る。VB.net2005以降にはSerealPortコントロールが使えるようになっているのでまあこれで十分。以下の参考サイトのサンプルコードをベースに、ASCIIコード通信→バイナリー通信に変更して、受信データに応じて返答を送信するように作り込む。画像は、受信したバイナリデータをHEXデータにしてテキストBOXに表示してみたところ。参考:VB.NETでシリアル通信を行う(金澤ソフト設計)シーケンサとの通信に、USB-RS485コンバータ(UTS-485TB-V2)を購入。このメーカーのは、USB-RS232Cコンバータでも実績があり間違いない。4,500円程なのでお財布にも優しい。通信とかパソコンのプログラムは本職ではないけど、色々勉強しながら作り上げてゆくのは大変だけど楽しいものだ。DevelopこんなSDKがあったのを知らずにいた。Editionも無償なので良いのだが、インストーラを作ることができい。Developは「Wix」という使い辛いけどインストーラを別途追加すればできるようになる。(参考)セットアッププロジェクト-WiX(余暇でSharpDevelop)チェックサムでXOR方式ググってもなかなかわからなかった、XOR方式のサムチェック。1の補数とか2の補数とかは情報あるけどこれはなかなか出てこない。結局、三菱のマニュアルに書いてあった「水平パリティ」がそれだと判明。FA本日、今年最後の仕事を引き渡してきました。一年の締めくくりに相応しい、質の高いMotion仕事ができました!既存制御装置の置き換え案件。・・いつもなら可能な機械メーカー試運転は既存機械転用なのでありません。上げによって、製品の生産が可能となりました。引き渡す仕事の数々、現地での立ち上げ仕事はありませんでした。機械を動かして最後の製品を出すのが結果なので、久しぶりに充実した仕事ができました。(追記)今回は一人ではなくて共同でソフトを作って組み合わせ、試運転も複数名で行い完成させた、ということも、楽しくできた要因だったです。来年もまた、こういう仕事ができると良いなあ。工場設備のソフト製作には様々な課題があるけれど、技術論や精神論を超えたところに「まず動くようにすること」の重要性がある。久しぶりに、simulatorと向き合って仕事をすることになっているので、今日はこの話題にお付き合いください。simulationを行うことは、実際の立ち上げ業務を速やかに行うために今や非常にウエイトが高いといえる。いう記事を書いたときにはまだまだ認識が低い人も多かったが、最近では「少なくともシーケンスとタッチパネル間のバグアウトくらいはsimulationかけておいてね」が常識になりつつある。物を動かすまでテストができない状況もあり、simulatorが大変強力な武器であった。他のメンバーによる改造には不向きなシステムだった。現在携わっているのは、ブラックボックス化された古い制御装置のレトロフィット(置き換え)の案件。この場合、「今まで動いていた装置」であり、置き換え後に許される立ち上げ時間は短く、そしてバグによって機械を壊すことは即生産阻害に繋がる。simulatorに期待される場面なのだが、今回はできるだけ簡便に、且つ改造が容易な方法でやってみた。画像のように、制御装置のシーケンサと通信するポスト通信アプリケーションをVB.netで作ってPC上で動かす。一方で同PC内で実体の無いsimulator側シーケンスをGX-simulator上で稼働させ、電磁弁・シリンダモデルや、サーボ位置モデルを動かして、結果をポスト通信アプリ経由で実シーケンサに返すもの。このようにしておけばsimulator自身はシーケンスで書けるので誰でもメンテできるし、実ソフトとsimulatorは完全分離できるため転用性も向上する。USBディスプレイアダプタを購入し、3画面体制ということで、9月に制御盤出荷予定の案件で、これを十分に活用してソフト製作に取り組んでいる。simulatorソフト製作は案外面倒で、バグアウトが目的なのかsimulator製作が目的なのか、わからなくなることもあるのだが、今回の方法が今後のsimulation環境へプラスになることを期待している。自分の仕事の歩みは、simulatorとの付き合い方の変遷という部分も大いにある、と思うこの頃。FA4日半の仕事の旅から帰ってきたのが、5日の朝。その後関西方面出張でしたが、昨晩無事に帰宅して、1週間ぶりに自宅のベッドで寝ました。睡眠は自宅が一番です。仕事は暑い現場で汗だらだらでした。技術営業の成果は、まだ出ません。12年ぶりにタイ英語と会話しましたけど、何とかコミュニケーションは取れました。ホテルに電話でレイトチェックアウトを依頼する時がいちばん大変だった(汗)。宿泊地は、タイのリゾート、PATTAYA。オーシャンビューの部屋。夜のエントランスパタヤ市内の移動は、以前半年間滞在した先輩に連れられて、ソンテウを使いました。荷台に乗って、降りたい時にブザーを押し、ひとり大体10バーツくらいで移動できます。ソンテウから撮影したビーチ短い旅でしたが、タイ料理も沢山いただきました。本場のトムヤムクンは、最高。帰りに、お土産屋さんによって買い込みました。子供たちには何が良いか悩みましたが、全然タイとは無関係っぽい民芸メカ人形があったので、それで。一応、家内にも翡翠のネックレス。次回も行けるかどうかは、今回の結果を持っての受注が成功するかどうかに拠ります。FA明日から4日間、THAI出張です。12年ぶりくらいかな。新型インフルも流行っているとのことなので、気をつけて行って来ます。php先日以来、PHPで案件に取り組んでいます。三菱のデータロガーユニットの「クセ」に悩まされつつ、だいぶ進んできました。昨日と今日は、WEB画面でのグラフ表示にチャレンジ。Javascriptでやってみました。いっても、いつものように、オープンソースを使います。Demo(WebFX)自由度は相当低いですが、その分、敷居が低いですね。(笑)結果、こんな感じです。20~1000レコードを60秒おきにリロードし、データロガーユニットからFTPでダウンロードしグラフ描画します。今回はこんな感じで済ませましたが、もっと本格的なグラフ表示も試してみたいですね。10件目を表示しています。大会リストシューズリスト画像マネージャマイフレンドWEBリンク。