@techreport{oai:ipsj.ixsq.nii.ac.jp:00195183, author = {梶, 夢敏 and 堀口, 雄輝 and 井口, 幸洋 and Yumeharu, Kaji and Yuki, Horiguchi and Yukihiro, Iguchi}, issue = {47}, month = {Mar}, note = {プログラムコードを変更するだけで,PLC (Programmable Logic Controller) の実行を高速化する方法を提案する.PLC のプログラムにはラダー図が広く用いられている.高速化の方法はシンプルである : (1) ラダー図を,シーケンス命令に変換する.(2) シーケンス命令は,0 か 1 かのどちらかの値を持つ論理デバイスを数多く持っている.ある論理デバイスMi が,論理値 0 (1) を持つと仮定すると,後続の Mi に関わる論理命令が省略できる.論理デバイス Mi に 0 を代入した場合と,1 を代入した場合の簡単化した二つの命令列を予め生成しておく. (3) それらを条件ジャンプで結合する.本方法で,総命令数は増加するが,実行命令数は減少し,スキヤンタイムは短くできる.予備実験により,実行命令数は,実行命令数は 3.0 ~ 4.7% 程度に削減できることを示す.単純な方式では、総命令数を 6.3 倍に増加させるが、重複命令を省略することで、総命令を 2.9 倍程度に抑えられたことを示す., We propose a speed-up method for PLCs (Programmable Logic Controllers) by only modifying program codes. Ladder diagram (ladder logic) is widely used to PLCs. The idea of the speed-up method is simple: (1) We convert ladder diagrams to sequence instructions. (2) Sequence instructions have many logic devices which have values either 0 or 1. Assume that a logic device Mi has the value 0 (1), we can reduce some subsequent logical instructions which involves Mi. We pregenerate two reduced sequences; one is the codes in which Mi is assigned to 0, the other is the codes in which Mi is assigned to 1. (3) We connect them using a CJ (conditional jump) operation. Preliminary experimental results show that the number of executed instructions is reduced by 3.0 ~ 4.7 percent. Although the naive method increases the number of total instructions by 6.3 times. By eliminating duplicate instructions, we prevent the rate of increase by 2.9 times.}, title = {PLCの高速化に関する研究(5) -プリコンピューティングによる実行命令数の削減-}, year = {2019} }