一往確認日記 |
2016年10月31日
_ Escalatorのプログラムデータを手で入力してましたが、自動で転送できる様になりました。
Escalatorというのは、各種PLCがメーカーや機種毎にプロジェクトデータが異なるため互換性がなく、移植するのが大変なのを解決しようとするものです。
ここのescalatorのカテゴリーを見てもらえると今までの経緯を見てもらうことができます。
完全に置き換えることを考えてるわけではなくて、根幹となる処理の流れ(シーケンス)を簡単に記述できるところを目指してます。 今は、ニーモニックレベルですが、例えば次の様にやることを順番に記述するとEscalatorがニーモニックを作ってくれてPLCに流してくれるということを考えてます。
- パレット到着確認
- 位置決めシリンダー動作
- ワーク取り付け
- 位置決めシリンダー戻す
- ストッパーを下げる(次の工程に流す)
例えばサイクルタイムを稼ぐために、先にストッパを下げておく場合は下の様に行を入れ替えるだけで良くなります。
- パレット到着確認
- 位置決めシリンダー動作
- ワーク取り付け
- ストッパーを下げる
- 位置決めシリンダー戻す
やったことがある方はお分かりと思いますが、これをラダーで行う場合は結構面倒です。 ここでは1箇所だけですが、開発案件ではこの様な順番の入れ替えや間にやることが増えたり、逆に減ったりということが良くあります。 しかも何回も何回も行うことがあります。 最初は綺麗にデバイスが順番に並んでいたのが、いつの間にかバラバラの番号になってしまい把握しづらくなってしまうことが良くあります。
Escalatorは行を入れ替えるだけでよくなります。(まだまだ構想段階ですが)
今まではEscalatorのプログラムデータをPLCに転送するのに手入力で行っていたので、あまり公開できるレベルではありませんでしたが、ようやくEscalatorで転送できる様になり、皆さんに試してもらえるレベルになりました。
EscalatorはRuby環境を準備する必要がありますが、それさえ準備できれば試せます。 こちらにRuby環境準備後の導入手順を記述してますので、興味のある方は試してみてください。 MacでもWindowsでも動作します。試してませんがLinuxでも動作すると思います。 文字が見にくいのですが、頑張って動画もつくりましたので雰囲気だけでも感じでもらえれは嬉しいです。
Escalatorに共感してくれる方はほとんどいないと思いつつやっていますが、Rubygemsでダウンロード数を確認すると、昨日1日ですでに100回程のダウンロードがあります。 動画作りで20回位は自分で稼いでますが、それを差し引いても80回ダウンロードされていて、いったいどんな方がダウンロードしてるのでしょうか?
フィードバックをもらえると嬉しいです。
2020年10月31日
_ ENVELOPE - その1
前回のBBC MicroのENVELOPEコマンドについてです。
ENVELOPEはシンセサイザーでは音の振幅のコントロール(ADSR)によく使われています。
BBC MicroのENVELOPEは振幅に加えて音程(ピッチ)もコントロールで、シンセサイザーでいうLFOによる変調の機能も持っている様で、この点に驚いたのでした。
おさらいです。
BBC Micro emulatorで下のコマンドを入力します。
ENVELOPE 2,1,2,-2,2,10,20,10,1,0,0,-1,100,100
SOUND 1,2,100,100
これはBBC Microの説明にあるものなのですが、a wailing police siren(パトカーのサイレン)とありますが、パックマンの音にしか聞こえません。
ENVELOPEには14個の数値を指定していて、ぱっと見では何をしているかわかりませんのでドキュメントをみてみます。
前半の8個が音程に関するパラメータです。
後半6個が振幅に関するパラメータです。
ENVELOPE | パラメータ名 | 範囲 | 機能 |
---|---|---|---|
2 | N | 1〜4 | 登録番号 |
1 | T | 0〜127 : 0-6bit | 1ステップの長さ。(Tx1/100秒) |
T | 0 or 128 : 7bit | 0:単発 128:連続 | |
2 | PI1 | -128〜127 | 1ステップ毎のピッチ変化量1(PI1x半音) |
-2 | PI2 | -128〜127 | 1ステップ毎のピッチ変化量2(PI2x半音) |
2 | PI3 | -128〜127 | 1ステップ毎のピッチ変化量3(PI3x半音) |
10 | PN1 | 0〜255 | PI1のステップ数 |
20 | PN2 | 0〜255 | PI2のステップ数 |
10 | PN3 | 0〜255 | PI3のステップ数 |
1 | AA | -127〜127 | 1ステップ毎の振幅変化(立ち上り) |
0 | AD | -127〜127 | 1ステップ毎の振幅変化(減衰) |
0 | AS | -127〜0 | 1ステップ毎の振幅変化(保持) |
-1 | AR | -127〜0 | 1ステップ毎の振幅変化(余韻) |
100 | ALA | 0〜126 | AAの到達レベル |
100 | ALD | 0〜126 | ADの到達レベル |
_ oresummer [とても興味深いです。また来ます]
_ かつよし [ありがとうございます。なかなか進みませんがまた来てください。]