72 lines
1.4 KiB
Python
Executable File
72 lines
1.4 KiB
Python
Executable File
#! /usr/bin/python
|
|
|
|
__author__ = "Michael rest"
|
|
__date__ = "2006/02/13"
|
|
__email__ = "michi@rosstein.de"
|
|
__version__ = "$Revision: 1.1 $"[11:-2]
|
|
|
|
import sys
|
|
from cr_tpdu import CR_TPDU
|
|
from dt_tpdu import DT_TPDU
|
|
from tpkt import TPKT
|
|
from socket import *
|
|
from time import sleep
|
|
|
|
BUFSIZE = 1024
|
|
def print_lebe (data):
|
|
print '\nTransportauftrag'
|
|
print ' Telegrammnr: %d ' %((ord (data[0]) << 8) + ord (data[1]))
|
|
print ' Sender : %s ' %data [2:4]
|
|
print ' Empfaenger : %s ' %data [4:6]
|
|
print ' Typ : %s ' %data [6:10]
|
|
print ' Telegrammnr: %d ' %((ord (data[10]) << 8) + ord (data[11]))
|
|
|
|
|
|
|
|
#LEBE
|
|
tpdu = CR_TPDU ("BEAT", "BEAT", srcref=0x0015)
|
|
tpkt = TPKT (len (tpdu) + 1)
|
|
print "Laenge: " + str (len (tpdu))
|
|
|
|
sleb = socket(AF_INET, SOCK_STREAM)
|
|
sleb.connect(("192.168.0.130", 102))
|
|
sleb.send(`tpkt`+`tpdu`)
|
|
|
|
data = sleb.recv (16384)
|
|
|
|
#Telegramme
|
|
id =0
|
|
|
|
#An I-Punkt
|
|
tel = 'LV' + 'TP' + 'LEBE' + '%c%c' %(0,1)
|
|
|
|
|
|
while 1:
|
|
try:
|
|
print '========================='
|
|
dt = '%c%c' %(id >> 8, id % 256) + tel
|
|
|
|
id = id + 1
|
|
print_lebe (dt)
|
|
tpdu = DT_TPDU (dt)
|
|
tpkt = TPKT (len (tpdu) + 1)
|
|
sleb.send(`tpkt`+`tpdu`)
|
|
data = sleb.recv (16384)
|
|
print_lebe (data[7:20])
|
|
sleep (4.1)
|
|
except KeyboardInterrupt:
|
|
self.message ("Interrupted by user")
|
|
|
|
sleep (25.1)
|
|
|
|
#close connecthons
|
|
sleb.close ()
|
|
#while 1:
|
|
# data = sstau.recv(BUFSIZE)
|
|
#
|
|
# if not data:
|
|
# print "Stopping"
|
|
# sys.exit (0)
|
|
|
|
|