自作PC

こんにちは、mtjです。

最近自作したPCが熱で落ちることが多くなって来ました
その原因として思われるのがメモリとCPUヒートシンクが接触していることが原因と
思われます。

もともと、安く仕上げようと思いマイクロATXという小さいマザーボードの規格で
組み立てていまして、CPUファンが止まってしまったため新しいファンに交換した
ため接触しています。

結局安く仕上げようと思い小さいマザーボードにした結果、メモリやマザボに悪影響
が出てしまうという悪い例でした。
そもそも、ファンを買う時にヒートシンクの形状をよく確認しなかったのが悪かったです。

というわけで長く使いたいのであれば、
高くてもそこそこましな物を買いましょうということでした。

それでは、また

VB6アドイン 「VB6 IDE Tabbar」

今更ですがVB6の便利なアドイン「VB6 IDE Tabbar」を見つけました。

「VB6 IDE Tabbar」をインストールすると、VB6のコードウィンドウを切り替えるためのタブが表示され、VS.NETと同じようにコードウィンドウをタブ切り替えできるようになります。

ついでに、コードウィンドウのスクロールをマウスホイールで行えるようにもなります。

最近はVB6を使うことは減りましたが、既存ソフトの改造などでたまに使うので、非常にありがたいです。

チャンネルと連番

PLCのデバイスには2つの種類があります。
1つはチャンネルです。16ビットを1つのチャンネルとして扱います。
例) 1.00~1.15 ⇒ チャンネル1のビット0から15
もう1つは連番です。
例) 0~65535 ⇒ 区切りがなく連続しています。
私はチャンネルの方が好きです。(好き嫌いの問題?)
1つの出力の条件としてチャンネル毎に確保できます。
連番の場合は16個づつ確保するとキリのよい数字になりません。
0~15、16~31、32~47、・・・。
これを0~9、10~19、20~21、・・・という具合に確保するとキリが良いですが後で泣きを見ます。
なぜなら、ほとんどの命令が16ビットを1ワードとして扱うからです。
なぜ人は「キリ」の悪い数字を嫌うのでしょうか?
そもそも「キリ」とはなんでしょうか?
キリがないので・・・このへんで・・・。

適材適所

どうも、mtjです。

開発する環境も対象によって変化させていったほうが良いと思いました。

計算が得意な言語、アナログ回路のほうが簡単に演算できるものだったり

難しいものは簡単に作れるもので作ってしまうという大事さが分かりました。

これから作る時に考えないといけませんね。

いろいろできるプログラムも柔軟に考えることが大事ですね。

Windowsタブレットの今後

Windowsタブレットが各社から販売され、本格的にWindowsタブレットの競争が 始まりました。

最初、 マイクロソフトからWindowsタブレットPCのリファレンス機的な扱いでSurfaceRTとSurfaceProが発表され、 今後のWindowsタブレットの流れとしては、 アンドロイドタブレットやiPad対抗として、OSにWindowsRTを使用した、安くてバッテリ持ちが良く軽い、その代わり今までのWindowsソフトは動かず性能の低いSurfaceRTタイプと、 ネットブックやウルトラブックからの延長として、OSにWindows8を使用した、今までのWindowsソフトが動き高性能な、その代わり高くてバッテリがあまり持たず重いSurfaceProタイプの、 2つの路線で各社から販売されると思っていました。

しかし、実際にはWindows8を使用したタブレットばかりになり、しかも価格・バッテリ持ち・重量がSurfaceRTタイプ並になっています。

理由はCPUにIntelの次世代Atom「Atom Z2760(コードネームClover Trail)」を使用している為です。 このCPU、今までのAtomとターゲットが大きく異なる。今までのAtomは、ネットブックやウルトラブックなどの廉価なパソコンに、安く低消費電力で使用するために設計されており、 メモリやバスなどの周辺部品の設計はパソコンと違いがありませんでした。しかし、Atom Z2760では、ターゲットが完全にタブレットになっており、周辺部品に組み込み系の技術が使われています。 そのため、CPUだけではなくシステム全体で低コスト・低消費電力・軽量化が実現できています。 さらに、S0i1とS0i3という新しい待機状態に対応したため、アンドロイドタブレットやiPadなどと同じように、ネットワークに接続したままスタンバイ状態に出来るようになりました。

正直、Surfaceが発表されたときWindowsタブレットは流行らないと思っていました。 WindowsRTタブレットは、過去のWindowsソフトが動かないのでWindowsとしてのメリットが無い。 Windows8タブレットは、価格・バッテリ持ち・重量で他のタブレットに勝てない。 結果、どちらも流行らないだろうと。

しかし、Atom Z2760のおかげでWindows8タブレットが、他のタブレットと同じ土俵で戦えるようになり、ビジネス向けを中心に一気にWindows8タブレットが普及しそうな状態になりました。

今後、工場などで利用されるタブレットとしては、アンドロイドが有力と思っていたが、 Windows8タブレットのほうが可能性が高そうなので、早いことWindowsストアアプリ(旧名称Metroアプリ)の開発に慣れておく必要がありそうです。

C言語PLC

M社からC言語PLCなるものが販売されています。
PLCは Programmable Logic Contoroller なので言語は何でも良い筈なのですがなぜか世間ではラダープログラムということになっています。(最近はWEBでPLCを検索すると Power Line Communications しか出てこないです・・・)
ラダープログラムをC言語に書替えるというよりもPCの開発者が大量のI/Oを制御するときなどに使用するのでしょうか?
今ひとつターゲットが良く分かりません。
でも、面白そうなので一度使ってみたいです。

PC内部の部品で大事な事

どうも、mtjです。

最近自分のPCの不調が続いています

GPUが半刺しになっていたりといろいろ原因はあったのですが

一番の原因はCPUファンの銅部分がメモリと接触していて

CPUの熱がメモリに流れていることが原因だと思われます

マザボだけは安物を買ってしまって(そもそもAMDなので安いのですが)

CPU周りが狭いため接触してしまっています

解決策は簡単でマザボを買い換えるだけですね

そもそもファンを交換した理由がAMDのファンの音はとても五月蠅いことで有名だったので交換しました

マザボはAM3+しか売ってないと思われますがAMDなので互換性があるので

CPUの交換はいらないと思います。

またいろいろPC周りで出費がありそうです・・・

PCがブルースクリーンで落ちるときはご用心をCPUファンが止まっているかもしれませんよ

iOSアプリの開発環境

自分はせっかくiPhoneを持っているので簡単なアプリからでもアプリを作ってみようと

開発環境に必要なモノを探していたのですが

アンドロイドなんかはJAVAで作れるのでEclipseという無償の開発環境で作成出来ます

なので、iOSもそれと同じで簡単に開発環境を揃えられると思ったのですが

通常開発する場合はiOSが動くコンピュータが必要だということがわかりました

結果を言いますとまず必要なものが

IOSが動くPC、次に開発環境、次に開発言語の勉強。

と開発環境を作るためには先は長そうです。

MAC系を触ったことがないのもあるので

iOSが動くPCだけは欲しいかなと思っております

先は長いですが開発できるように頑張りたいと思います。

初めてのアンドロイドソフト開発ではまった事

nexus7を購入したのでアンドロイドソフトの開発を初めて見ました。
以前から@ITなどのサイトを読んで勉強はしていましたが、実際に開発を行うと、 つまらないところではまってばかりでした。

以下、はまったところ。

1.*.out.xmlというファイルが出来てビルドできない。
ビルドすると勝手に*.out.xml(*の部分は既存のxmlファイルのファイル名が入る)という空のファイルができあがり、ビルドエラーになってしまう。
その後、*.out.out.xml、*.out.out.out.xmlとビルドするたびにどんどんファイルが増えていきます。

調べると、xmlファイルを開いていたり、パッケージエクスプローラでxmlファイルを選んでいると、このファイルが出来上がるそうです。

*.out.xmlが出来上がった場合は、ファイルを削除して再度ビルドすれば直ります。

2.アンドロイドのエミュレータが起動できない。
アンドロイドのエミュレータ(AVD)を起動するときに「PANIC: Could not open: 」というエラーが出てしまいました。

以下のサイトに原因と解決方法が記載されていました。
http://u2k772.blog95.fc2.com/blog-entry-246.html

以下の場合にこのエラーが発生するそうです。
a)ユーザー名に日本語やスペースが含まれている場合。
b)マイドキュメントなどの位置をDドライブなどに移動した場合。

私の環境ではマイドキュメントがDドライブに移動してあるためにエラーになってました。

3.アンドロイドのエミュレータが異常に遅い。
起動までに1分かかり、起動後も描画がのろのろで使えません。
snapshotオプションをONすれば、前回の状態から起動できるので起動が速くなります。
GPUオプションをONすれば、描画がスムーズになります。
しかし、いずれか一方のオプションしか使用できないため、結局エミュレータは使用せず、実機で動かしています。

4.タイトルバーが消えない。
作成したソフトを起動すると、大きなタイトルバーが上部に表示されます。
とても邪魔なので消したいが、画面レイアウトが記載されているxmlファイルを見てもタイトルバーを表示しているような記述が見つかりません。

タイトルバーを消すには、AndroidManifest.xmlファイル内のandroid:themeの文字列を以下のようにします。
android:theme=”@android:style/Theme.Black.NoTitleBar”
こんなタイトルバーが出てくるソフトは見たことがないので、タイトルバー無しをデフォルトにしてくれればよいのに・・

普段VisualStudioばかり使っているので、eclipsにもまだ慣れておらず、 いっそMONO For Android」で開発すれば、VisualStudio + .net + C#といういつも通りの 環境で開発が行え、今までに作ったソースコードの流用も出来るはず。
一通りeclips + JAVAでの開発を勉強したら「MONO For Android」を試す予定です。

ステッパ

ラダーの書き方で「ステッパ」と呼ばれている方法があります。
ビットデバイスを自己保持するのではなく、ワードデバイスに数字を入れてビットデバイスにエンコードする、もしくは、ビットデバイスをワードデバイスに見立ててシフトする。
要はビットデバイスを順番にオンにする回路です。
ステップ命令を備えたPLCもあります。
適材適所で使用すればそれはそれで便利です。
ただし、1スキャン内に複数回のエンコードやシフトが行われるとデバッグが非常に困難になるので注意が必要です。