Announcement

Collapse
No announcement yet.

PLCBUS vs X10 speed test

Collapse
This is a sticky topic.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    PLCBUS vs X10 speed test

    To compare X10 speed to Plcbus speed, I have created two HomeSeer events with 10 script commands each.


    HomeSeer event TestX10 with X10 device D1. The Device is switched On/Off 5 times.

    Run script: &hs.ExecX10 "D1", "ON"
    Run script: &hs.ExecX10 "D1", "OFF"
    Run script: &hs.ExecX10 "D1", "ON"
    Run script: &hs.ExecX10 "D1", "OFF"
    Run script: &hs.ExecX10 "D1", "ON"
    Run script: &hs.ExecX10 "D1", "OFF"
    Run script: &hs.ExecX10 "D1", "ON"
    Run script: &hs.ExecX10 "D1", "OFF"
    Run script: &hs.ExecX10 "D1", "ON"
    Run script: &hs.ExecX10 "D1", "OFF"

    Total run-time : approx 12 seconds.

    Note: This might be a little faster if you try the same with 110V 60Hz X10. 50Hz X10 is slower than 60Hz X10. This might also be faster with an other interface than a CM11a.

    ---

    HomeSeer event TestPlcBus with PlcBus device D4. The device is set to dim 60% (with instant ramprate), then set to 30% (instant faderate again). Again this is done 5 times.

    Run script: &hs.ExecX10 "D4", "DIM", 60, 256
    Run script: &hs.ExecX10 "D4", "DIM", 30, 256
    Run script: &hs.ExecX10 "D4", "DIM", 60, 256
    Run script: &hs.ExecX10 "D4", "DIM", 30, 256
    Run script: &hs.ExecX10 "D4", "DIM", 60, 256
    Run script: &hs.ExecX10 "D4", "DIM", 30, 256
    Run script: &hs.ExecX10 "D4", "DIM", 60, 256
    Run script: &hs.ExecX10 "D4", "DIM", 30, 256
    Run script: &hs.ExecX10 "D4", "DIM", 60, 256
    Run script: &hs.ExecX10 "D4", "DIM", 30, 256

    Total run time : Approx 5 seconds

    Note: this is with PlcBus Connector "Wait for Ack mode" set to False.


    Conclusion: PlcBus is at least twice faster than X10.
    --
    stipus

    #2
    Nice Compare, how does enabling Ack impact?

    Very nice compare! (and i think a fair one, since X10 has no acks)

    Just to be curious, if one enables the "Wait for Ack mode", in what degree would this affect the speed? With the knowledge that PLCBus is twice the speed, my personal feeling is that you will have about the same speed as X10 using acks (maybe just a little slower). Is it easy for you to check this feeling?

    Comment


      #3
      This one was very easy to test:

      - One click in the plugin web configuration interface to enable "Wait for ack mode"
      - One click on the PlcBus test event "run" button - clock in hand ... 6 seconds.

      Wait for ack mode doesn't slow down the plugin much.

      Code:
      23/01/2008 12:13:47   Info  Event Trigger "Test PlcBus" 
      23/01/2008 12:13:47   Info  Running script statement immediately: &hs.ExecX10 "D4", "DIM", 60, 256 
      23/01/2008 12:13:47   Info  Running script statement immediately: &hs.ExecX10 "D4", "DIM", 30, 256 
      23/01/2008 12:13:47   PLCBUS Debug  Sending: (255) D4 PresetDim Data1:60 Data2:0 Tx:False AckReq:True Ack:False IDreq:False Id:False 3PhReq:False RiscOK:False PlcBusOK:False 
      23/01/2008 12:13:47   Info  Running script statement immediately: &hs.ExecX10 "D4", "DIM", 60, 256 
      23/01/2008 12:13:47   PLCBUS Debug  SetIO() called HC=D DC=4 COMMAND=4 BRIGHTNESS=30 DATA1=30 DATA2=256 
      23/01/2008 12:13:47   PLCBUS Debug  SetIO() called HC=D DC=4 COMMAND=4 BRIGHTNESS=60 DATA1=60 DATA2=256 
      23/01/2008 12:13:47   Info  Running script statement immediately: &hs.ExecX10 "D4", "DIM", 30, 256 
      23/01/2008 12:13:47   PLCBUS Debug  SetIO() called HC=D DC=4 COMMAND=4 BRIGHTNESS=30 DATA1=30 DATA2=256 
      23/01/2008 12:13:47   Info  Running script statement immediately: &hs.ExecX10 "D4", "DIM", 60, 256 
      23/01/2008 12:13:47   PLCBUS Debug  SetIO() called HC=D DC=4 COMMAND=4 BRIGHTNESS=60 DATA1=60 DATA2=256 
      23/01/2008 12:13:47   Info  Running script statement immediately: &hs.ExecX10 "D4", "DIM", 30, 256 
      23/01/2008 12:13:47   Info  Running script statement immediately: &hs.ExecX10 "D4", "DIM", 60, 256 
      23/01/2008 12:13:47   PLCBUS Debug  SetIO() called HC=D DC=4 COMMAND=4 BRIGHTNESS=30 DATA1=30 DATA2=256 
      23/01/2008 12:13:48   PLCBUS Debug  SetIO() called HC=D DC=4 COMMAND=4 BRIGHTNESS=60 DATA1=60 DATA2=256 
      23/01/2008 12:13:48   Info  Running script statement immediately: &hs.ExecX10 "D4", "DIM", 30, 256 
      23/01/2008 12:13:48   PLCBUS Debug  SetIO() called HC=D DC=4 COMMAND=4 BRIGHTNESS=30 DATA1=30 DATA2=256 
      23/01/2008 12:13:48   Info  Running script statement immediately: &hs.ExecX10 "D4", "DIM", 60, 256 
      23/01/2008 12:13:48   PLCBUS Debug  SetIO() called HC=D DC=4 COMMAND=4 BRIGHTNESS=60 DATA1=60 DATA2=256 
      23/01/2008 12:13:48   Info  Running script statement immediately: &hs.ExecX10 "D4", "DIM", 30, 256 
      23/01/2008 12:13:48   PLCBUS Debug  SetIO() called HC=D DC=4 COMMAND=4 BRIGHTNESS=30 DATA1=30 DATA2=256 
      23/01/2008 12:13:48   PLCBUS Debug  Sent: (255) D4 PresetDim Data1:60 Data2:0 Tx:True AckReq:True Ack:False IDreq:False Id:False 3PhReq:False RiscOK:True PlcBusOK:True 
      23/01/2008 12:13:48   PLCBUS Debug  Rcvd Ack: (255) D4 PresetDim Data1:60 Data2:0 Tx:False AckReq:True Ack:True IDreq:False Id:False 3PhReq:False RiscOK:False PlcBusOK:False 
      23/01/2008 12:13:48   PLCBUS Debug  Sending: (255) D4 PresetDim Data1:30 Data2:0 Tx:False AckReq:True Ack:False IDreq:False Id:False 3PhReq:False RiscOK:False PlcBusOK:False 
      23/01/2008 12:13:48   PLCBUS Debug  Sent: (255) D4 PresetDim Data1:30 Data2:0 Tx:True AckReq:True Ack:False IDreq:False Id:False 3PhReq:False RiscOK:True PlcBusOK:True 
      23/01/2008 12:13:49   PLCBUS Debug  Rcvd Ack: (255) D4 PresetDim Data1:30 Data2:0 Tx:False AckReq:True Ack:True IDreq:False Id:False 3PhReq:False RiscOK:False PlcBusOK:False 
      23/01/2008 12:13:49   PLCBUS Debug  Sending: (255) D4 PresetDim Data1:60 Data2:0 Tx:False AckReq:True Ack:False IDreq:False Id:False 3PhReq:False RiscOK:False PlcBusOK:False 
      23/01/2008 12:13:49   PLCBUS Debug  Sent: (255) D4 PresetDim Data1:60 Data2:0 Tx:True AckReq:True Ack:False IDreq:False Id:False 3PhReq:False RiscOK:True PlcBusOK:True 
      23/01/2008 12:13:49   PLCBUS Debug  Rcvd Ack: (255) D4 PresetDim Data1:60 Data2:0 Tx:False AckReq:True Ack:True IDreq:False Id:False 3PhReq:False RiscOK:False PlcBusOK:False 
      23/01/2008 12:13:49   PLCBUS Debug  Sending: (255) D4 PresetDim Data1:30 Data2:0 Tx:False AckReq:True Ack:False IDreq:False Id:False 3PhReq:False RiscOK:False PlcBusOK:False 
      23/01/2008 12:13:50   PLCBUS Debug  Sent: (255) D4 PresetDim Data1:30 Data2:0 Tx:True AckReq:True Ack:False IDreq:False Id:False 3PhReq:False RiscOK:True PlcBusOK:True 
      23/01/2008 12:13:50   PLCBUS Debug  Rcvd Ack: (255) D4 PresetDim Data1:30 Data2:0 Tx:False AckReq:True Ack:True IDreq:False Id:False 3PhReq:False RiscOK:False PlcBusOK:False 
      23/01/2008 12:13:50   PLCBUS Debug  Sending: (255) D4 PresetDim Data1:60 Data2:0 Tx:False AckReq:True Ack:False IDreq:False Id:False 3PhReq:False RiscOK:False PlcBusOK:False 
      23/01/2008 12:13:50   PLCBUS Debug  Sent: (255) D4 PresetDim Data1:60 Data2:0 Tx:True AckReq:True Ack:False IDreq:False Id:False 3PhReq:False RiscOK:True PlcBusOK:True 
      23/01/2008 12:13:50   PLCBUS Debug  Rcvd Ack: (255) D4 PresetDim Data1:60 Data2:0 Tx:False AckReq:True Ack:True IDreq:False Id:False 3PhReq:False RiscOK:False PlcBusOK:False 
      23/01/2008 12:13:50   PLCBUS Debug  Sending: (255) D4 PresetDim Data1:30 Data2:0 Tx:False AckReq:True Ack:False IDreq:False Id:False 3PhReq:False RiscOK:False PlcBusOK:False 
      23/01/2008 12:13:51   PLCBUS Debug  Sent: (255) D4 PresetDim Data1:30 Data2:0 Tx:True AckReq:True Ack:False IDreq:False Id:False 3PhReq:False RiscOK:True PlcBusOK:True 
      23/01/2008 12:13:51   PLCBUS Debug  Rcvd Ack: (255) D4 PresetDim Data1:30 Data2:0 Tx:False AckReq:True Ack:True IDreq:False Id:False 3PhReq:False RiscOK:False PlcBusOK:False 
      23/01/2008 12:13:51   PLCBUS Debug  Sending: (255) D4 PresetDim Data1:60 Data2:0 Tx:False AckReq:True Ack:False IDreq:False Id:False 3PhReq:False RiscOK:False PlcBusOK:False 
      23/01/2008 12:13:51   PLCBUS Debug  Sent: (255) D4 PresetDim Data1:60 Data2:0 Tx:True AckReq:True Ack:False IDreq:False Id:False 3PhReq:False RiscOK:True PlcBusOK:True 
      23/01/2008 12:13:52   PLCBUS Debug  Rcvd Ack: (255) D4 PresetDim Data1:60 Data2:0 Tx:False AckReq:True Ack:True IDreq:False Id:False 3PhReq:False RiscOK:False PlcBusOK:False 
      23/01/2008 12:13:52   PLCBUS Debug  Sending: (255) D4 PresetDim Data1:30 Data2:0 Tx:False AckReq:True Ack:False IDreq:False Id:False 3PhReq:False RiscOK:False PlcBusOK:False 
      23/01/2008 12:13:52   PLCBUS Debug  Sent: (255) D4 PresetDim Data1:30 Data2:0 Tx:True AckReq:True Ack:False IDreq:False Id:False 3PhReq:False RiscOK:True PlcBusOK:True 
      23/01/2008 12:13:52   PLCBUS Debug  Rcvd Ack: (255) D4 PresetDim Data1:30 Data2:0 Tx:False AckReq:True Ack:True IDreq:False Id:False 3PhReq:False RiscOK:False PlcBusOK:False 
      23/01/2008 12:13:52   PLCBUS Debug  Sending: (255) D4 PresetDim Data1:60 Data2:0 Tx:False AckReq:True Ack:False IDreq:False Id:False 3PhReq:False RiscOK:False PlcBusOK:False 
      23/01/2008 12:13:53   PLCBUS Debug  Sent: (255) D4 PresetDim Data1:60 Data2:0 Tx:True AckReq:True Ack:False IDreq:False Id:False 3PhReq:False RiscOK:True PlcBusOK:True 
      23/01/2008 12:13:53   PLCBUS Debug  Sending: (255) D4 PresetDim Data1:30 Data2:0 Tx:False AckReq:True Ack:False IDreq:False Id:False 3PhReq:False RiscOK:False PlcBusOK:False 
      23/01/2008 12:13:53   PLCBUS Debug  Sent: (255) D4 PresetDim Data1:30 Data2:0 Tx:True AckReq:True Ack:False IDreq:False Id:False 3PhReq:False RiscOK:True PlcBusOK:True 
      23/01/2008 12:13:53   PLCBUS Debug  Rcvd Ack: (255) D4 PresetDim Data1:30 Data2:0 Tx:False AckReq:True Ack:True IDreq:False Id:False 3PhReq:False RiscOK:False PlcBusOK:False
      We can see that AckReq = True for each sent command, and that the plugin did receive an acknowledgment for each command.
      Last edited by stipus; January 23, 2008, 06:28 AM.
      --
      stipus

      Comment


        #4
        Debug log with Wait for ack mode" set to disabled.

        Code:
        23/01/2008 12:18:28   Info  Event Trigger "Test PlcBus" 
        23/01/2008 12:18:28   Info  Running script statement immediately: &hs.ExecX10 "D4", "DIM", 60, 256 
        23/01/2008 12:18:28   PLCBUS Debug  SetIO() called HC=D DC=4 COMMAND=4 BRIGHTNESS=60 DATA1=60 DATA2=256 
        23/01/2008 12:18:28   Info  Running script statement immediately: &hs.ExecX10 "D4", "DIM", 30, 256 
        23/01/2008 12:18:28   Info  Running script statement immediately: &hs.ExecX10 "D4", "DIM", 60, 256 
        23/01/2008 12:18:28   PLCBUS Debug  Sending: (255) D4 PresetDim Data1:60 Data2:0 Tx:False AckReq:False Ack:False IDreq:False Id:False 3PhReq:False RiscOK:False PlcBusOK:False 
        23/01/2008 12:18:28   PLCBUS Debug  SetIO() called HC=D DC=4 COMMAND=4 BRIGHTNESS=30 DATA1=30 DATA2=256 
        23/01/2008 12:18:28   PLCBUS Debug  SetIO() called HC=D DC=4 COMMAND=4 BRIGHTNESS=60 DATA1=60 DATA2=256 
        23/01/2008 12:18:28   Info  Running script statement immediately: &hs.ExecX10 "D4", "DIM", 60, 256 
        23/01/2008 12:18:28   PLCBUS Debug  SetIO() called HC=D DC=4 COMMAND=4 BRIGHTNESS=30 DATA1=30 DATA2=256 
        23/01/2008 12:18:28   PLCBUS Debug  SetIO() called HC=D DC=4 COMMAND=4 BRIGHTNESS=60 DATA1=60 DATA2=256 
        23/01/2008 12:18:28   Info  Running script statement immediately: &hs.ExecX10 "D4", "DIM", 30, 256 
        23/01/2008 12:18:28   Info  Running script statement immediately: &hs.ExecX10 "D4", "DIM", 60, 256 
        23/01/2008 12:18:28   PLCBUS Debug  SetIO() called HC=D DC=4 COMMAND=4 BRIGHTNESS=30 DATA1=30 DATA2=256 
        23/01/2008 12:18:28   PLCBUS Debug  SetIO() called HC=D DC=4 COMMAND=4 BRIGHTNESS=60 DATA1=60 DATA2=256 
        23/01/2008 12:18:28   Info  Running script statement immediately: &hs.ExecX10 "D4", "DIM", 30, 256 
        23/01/2008 12:18:28   Info  Running script statement immediately: &hs.ExecX10 "D4", "DIM", 60, 256 
        23/01/2008 12:18:28   PLCBUS Debug  SetIO() called HC=D DC=4 COMMAND=4 BRIGHTNESS=30 DATA1=30 DATA2=256 
        23/01/2008 12:18:28   PLCBUS Debug  SetIO() called HC=D DC=4 COMMAND=4 BRIGHTNESS=60 DATA1=60 DATA2=256 
        23/01/2008 12:18:28   PLCBUS Debug  SetIO() called HC=D DC=4 COMMAND=4 BRIGHTNESS=30 DATA1=30 DATA2=256 
        23/01/2008 12:18:28   PLCBUS Debug  Sent: (255) D4 PresetDim Data1:60 Data2:0 Tx:True AckReq:False Ack:False IDreq:False Id:False 3PhReq:False RiscOK:True PlcBusOK:True 
        23/01/2008 12:18:28   PLCBUS Debug  Sending: (255) D4 PresetDim Data1:30 Data2:0 Tx:False AckReq:False Ack:False IDreq:False Id:False 3PhReq:False RiscOK:False PlcBusOK:False 
        23/01/2008 12:18:29   PLCBUS Debug  Sent: (255) D4 PresetDim Data1:30 Data2:0 Tx:True AckReq:False Ack:False IDreq:False Id:False 3PhReq:False RiscOK:True PlcBusOK:True 
        23/01/2008 12:18:29   PLCBUS Debug  Sending: (255) D4 PresetDim Data1:60 Data2:0 Tx:False AckReq:False Ack:False IDreq:False Id:False 3PhReq:False RiscOK:False PlcBusOK:False 
        23/01/2008 12:18:29   PLCBUS Debug  Sent: (255) D4 PresetDim Data1:60 Data2:0 Tx:True AckReq:False Ack:False IDreq:False Id:False 3PhReq:False RiscOK:True PlcBusOK:True 
        23/01/2008 12:18:29   PLCBUS Debug  Sending: (255) D4 PresetDim Data1:30 Data2:0 Tx:False AckReq:False Ack:False IDreq:False Id:False 3PhReq:False RiscOK:False PlcBusOK:False 
        23/01/2008 12:18:30   PLCBUS Debug  Sent: (255) D4 PresetDim Data1:30 Data2:0 Tx:True AckReq:False Ack:False IDreq:False Id:False 3PhReq:False RiscOK:True PlcBusOK:True 
        23/01/2008 12:18:30   PLCBUS Debug  Sending: (255) D4 PresetDim Data1:60 Data2:0 Tx:False AckReq:False Ack:False IDreq:False Id:False 3PhReq:False RiscOK:False PlcBusOK:False 
        23/01/2008 12:18:30   PLCBUS Debug  Sent: (255) D4 PresetDim Data1:60 Data2:0 Tx:True AckReq:False Ack:False IDreq:False Id:False 3PhReq:False RiscOK:True PlcBusOK:True 
        23/01/2008 12:18:30   PLCBUS Debug  Sending: (255) D4 PresetDim Data1:30 Data2:0 Tx:False AckReq:False Ack:False IDreq:False Id:False 3PhReq:False RiscOK:False PlcBusOK:False 
        23/01/2008 12:18:31   PLCBUS Debug  Sent: (255) D4 PresetDim Data1:30 Data2:0 Tx:True AckReq:False Ack:False IDreq:False Id:False 3PhReq:False RiscOK:True PlcBusOK:True 
        23/01/2008 12:18:31   PLCBUS Debug  Sending: (255) D4 PresetDim Data1:60 Data2:0 Tx:False AckReq:False Ack:False IDreq:False Id:False 3PhReq:False RiscOK:False PlcBusOK:False 
        23/01/2008 12:18:31   PLCBUS Debug  Sent: (255) D4 PresetDim Data1:60 Data2:0 Tx:True AckReq:False Ack:False IDreq:False Id:False 3PhReq:False RiscOK:True PlcBusOK:True 
        23/01/2008 12:18:31   PLCBUS Debug  Sending: (255) D4 PresetDim Data1:30 Data2:0 Tx:False AckReq:False Ack:False IDreq:False Id:False 3PhReq:False RiscOK:False PlcBusOK:False 
        23/01/2008 12:18:32   PLCBUS Debug  Sent: (255) D4 PresetDim Data1:30 Data2:0 Tx:True AckReq:False Ack:False IDreq:False Id:False 3PhReq:False RiscOK:True PlcBusOK:True 
        23/01/2008 12:18:32   PLCBUS Debug  Sending: (255) D4 PresetDim Data1:60 Data2:0 Tx:False AckReq:False Ack:False IDreq:False Id:False 3PhReq:False RiscOK:False PlcBusOK:False 
        23/01/2008 12:18:33   PLCBUS Debug  Sent: (255) D4 PresetDim Data1:60 Data2:0 Tx:True AckReq:False Ack:False IDreq:False Id:False 3PhReq:False RiscOK:True PlcBusOK:True 
        23/01/2008 12:18:33   PLCBUS Debug  Sending: (255) D4 PresetDim Data1:30 Data2:0 Tx:False AckReq:False Ack:False IDreq:False Id:False 3PhReq:False RiscOK:False PlcBusOK:False 
        23/01/2008 12:18:33   PLCBUS Debug  Sent: (255) D4 PresetDim Data1:30 Data2:0 Tx:True AckReq:False Ack:False IDreq:False Id:False 3PhReq:False RiscOK:True PlcBusOK:True
        Here we have AckReq=False for each sent command, and modules do not send acks.

        There is really very little speed difference when requesting acks.
        --
        stipus

        Comment

        Working...
        X