Me parece que poco tiene que ver el módulo Socket con el puerto serie, salvo en el caso de que queramos usar tcp/ip por el puerto serie...
¿Qué PLC es? Por internet hay ejemplos de programación de PLC por usb o serie usando Perl. Por ejemplo, aquí hay uno para el
Insteon. Vienen dos scripts en Perl con sus fuentes, para el protocolo X10.
Como te ha dicho kidd, mira los módulos para puerto serie. Por ejemplo,
Device::SerialPort, que es una emulación Linux de las llamadas
Win32::SerialPort.