PLCのプログラムはパーソナルコンピュータ上の特別なアプリケーションで作成し、PLCにダウンロードする。単純なものは現場で作ることも多い。以前はプログラム専用のハードウェアを使用していたがノートパソコン等の発達によりほとんど見られなくなった。プログラムはPLC毎にバッテリーバックアップされたRAMや不揮発性のメモリ（フラッシュメモリ）に格納される。ひとつのPLCで数千のリレーを置換するようプログラムすることもできる。初期のPLCは電気技術者が使うことを想定して設計され、彼らは業務で使用するうちにPLCのプログラミングを学んだ。専用のプログラミング用パネルや端末があり、PLCプログラムの各種論理要素に対応したファンクションキーが並んでいた。その後PLCはリレー回路の配線に対応するようになっているラダー論理でプログラムされるようになった。最近のPLCはラダー論理だけでなくBASICやC言語を使ってプログラムすることもできる。また、状態遷移図に基づいてPLCのプログラミングをする方式もある。ただし、高級言語であまり複雑なプログラムを組むと、PLCと言えどもエラーを起こすことがあるので、ラダー図以外のプログラムが使われることは少ない。最近では、国際標準規格 IEC 61131-3 が一般的になっている。それによると、5種類のプログラミング言語が定義されている。FBD（ファンクション・ブロック・ダイアグラム）・LD（ラダー図）・ST（ストラクチャード・テキスト、Pascal型の言語）・IL（命令リスト、アセンブリ言語風）そしてSFC（Sequential Function Chart；シーケンシャル・ファンクション・チャート）である。これらの技法は処理の論理構成を明確にするものである。
モジュール型のPLCは組み込まれる入出力の数が限られている。一般に、基本モデルの入出力数で足りなければ拡張機構を使う。ラック型のPLCはプロセッサモジュールと分離したI/Oモジュールになっていることが多い。場合によってはI/Oモジュールが多数のラックから構成されることもある。その場合、数千の（離散あるいはアナログの）入出力を持つ。プロセッサとI/Oモジュールの間は高速シリアルリンクで接続されるので、離れていてもよく、大規模工場で配線コストを低減させるのに役立つ。さらに大規模な入出力システムが必要な場合、プロセッサ間をP2Pの通信システムで接続する。これにより、大きなシステムを分割して制御し、かつ全体として通信して協調動作させることができる。この通信リンクはヒューマンマシンインタフェース機器（キーパッドやPC）を接続するのにも使用可能である。一般に入力数は出力数の三倍必要といわれている。センサーなどの故障に備えて入力を冗長化することが多いためである。
PLCで扱う信号はデジタル信号である。デジタル（または離散）信号とは単純に ON と OFF （1 と 0、真と偽）の信号だけである。押しボタン、リミットスイッチ、光スイッチなどがデジタル信号を発生するデバイスである。デジタル信号は電圧か電流で判断され、ある閾値でONかOFFかが決定される。例えば 24VDC の入出力を持つPLCでは、22VDC以上をONと判断し、2VDC以下をOFFと判断する。電流入力の方が電圧入力よりも電気的ノイズに強い。アナログ信号はボリューム制御のようなものであり、一般にゼロからある最大値までの値を示す。アナログ信号には電圧や電流が使われる。アナログ信号はADコンバータなど呼ばれるPLCのI/Oモジュールによって整数値に変換されPLCに取り込まれる。逆にデジタル信号をアナログ信号に変換するモジュールをDAコンバータなどという。アナログ信号は連続した無限個の数値だが、デジタル信号は有限個の数値しか使えない。そのため、アナログ信号の取込み範囲と精度は、デバイス側の精度とPLC側の信号線の割当てのバランスで決定される。例えば、0〜24VDCの範囲のアナログ信号があり、PLCで8本の信号線がこの入力に割り当てられたとすると、0Vはデジタルで0、24Vはデジタルで255となるだろう。精度は24/256となり約0.1V以下の変化は無視される。25VDCの入力があった場合にどう解釈されるかはPLCに依存する（24Vのままだったり、エラーとして処理したりする）。
PLCプログラムは一般に制御対象システムが動作中は反復的に実行されている。物理的な入力点の状態はプロセッサがアクセス可能なメモリ領域にコピーされ、その領域を「I/Oイメージテーブル」などと呼ぶ。プログラムはそれを入力として最初から最後まで動作する。これには若干の時間がかかり、その出力状態に従ってI/Oイメージテーブルを更新する。プログラムが小さくプロセッサが高速なら、このスキャンにかかる時間は数ミリ秒で済むが、大きなプログラムではもっと時間がかかる（例えば100ミリ秒）。スキャン時間が長すぎると、工程の状況へのPLCの反応が遅くなり、使いものにならなくなる。PLCの発展に伴い、ラダーの実行順序を変更する技法やサブルーチンの実装が行われてきた。それによってプログラミングが単純化され、スキャンタイム短縮にもつながっている。例えば、制御対象の機械のセットアップにのみ使われるプログラムの部分は、通常運用時のスキャンには含まれないよう分離することができる。
下関中心市街地から北へ約6km、旧下関市のほぼ中央に位置する内陸の地域である。住民基本台帳と外国人登録に基づく登録人口は25,267人（2009年3月末現在）、地区面積は21.29km²（2007年10月1日現在）。北は内日地区、西は安岡地区および川中地区、東は長府地区および王司地区、南は本庁地区（旧々市部）と隣接する。域内で山陽新幹線とJR山陽本線が交わる位置に新下関駅が位置する（山陽新幹線は新下関駅のすぐ南方で新関門トンネルに突入する）。この近辺は新下関地区と呼ばれることもあり（西に隣接する川中地区の東側（伊倉など）を含める場合もある）、勝山地区のほぼ中心部にあたる。道路網は域内のほぼ中央部で山口県道34号下関長門線が南北に貫き、新下関駅のやや北で東西方向に山口県道247号安岡港長府線（通称「長安線」）が通過する。県道下関長門線は地域の南部（山の谷交差点）で長府地区から続く国道2号と交わり、地域外（本庁地区）ではあるがさらに南で中国自動車道下関ICと交わる。中国自動車道は地域内で県道下関長門線の東方を南北に高架橋で貫いており、地域内には長門勝山バスストップが設けられていた。以上のように、交通アクセスは道路・鉄道ともにかなり良好である。交通の利便性も相まって、JR新下関駅周辺と県道下関長門線沿いに商業施設が立ち並び、その周りに宅地が広がる。また国道2号山の谷交差点付近には物流施設が集まっている。地区の周辺部には広い農地が残る。