External program interface

2010-08-26
2013-04-29
  • Great program!
    I work for a company that designs control systems for power plants.  I have been looking for a quick and dirty prog to simulate digital logic for quite a while.  Logisim is perfect for that.

    Typically we build systems using PLC's the PLC's interface with operater display panels.  These panels would typically have multiple screens with graphical displays.  These display screens would be linked to the logic in the PLC. It would be great if there was some place to create a screen with i/o linked to the logic within logisim.  Another way to do it would be to link to another program. 

    Is there any way to interface with other programs like excel?

    It would be great if you could use excel for push buttons and display of registers, bits, timers etc.  This way complex logic could be much easier to simulate.   You could sort of create a operator panel with multiple pages or groupings of signals.

    Thanks

     
  • Ilia Lilov
    Ilia Lilov
    2010-08-26

    The first, you should to ascertain that Logisim can support simulation speed acceptable for your purposes. Try to build a circuit close to your typical task and measure actual speed of simulation (Simulate->Tick Frequency option sets up limit, not bottom). You may use Counter component for this or read "Command-line verification" topic of Logisim's user guide (command-line execution is much faster).
    The second, do you have a way to connect your screen to PC? If yes, you could to write your own Logisim's component to communicate with your screen or you can write component to SIMULATE your screen within Logisim. If your are Java programmer, you may to read "JAR libraries" topic of Logisim's user guide; if you are not, you have to find him/her.

    I can't understand why Excel. If you need to analyze sequence of states of your circuits' components as tables, then you should to read "Logging" topic of Logisim's user guide.

    Finally, remember: Logisim is educational (not industrial) tool. Word "dirty" at the top of your post was a reason why this thesis isn't first and sole in my post.

     
  • Carl Burch
    Carl Burch
    2010-08-29

    As Ilia said, if you want to transfer information out of Logisim into another program, you can use the Logging feature. This feature isn't extremely extensive, but it can do a fair amount of what you would want. In particular, it can generate tab-delimited files suitable for loading with Excel. What's more, Logisim is fairly careful about flushing the file contents to disk fairly often, so you could conceivably load the data interactively.

    But as I understand it, you'd also like a way for a program to transfer information into Logisim - for example, having a way for a program to send a message to tell Logisim to toggle a switch or alter RAM contents. I don't have any way of doing that. It's an interesting idea for a feature, but I don't see it being added in the next few months - there's a lot of other work to do!

    That said, I can suggest a way to do this, even if it's not particularly elegant: You could use a piece of software that allows you to control the mouse programmatically. A brief Web search turned up AutoHotKey (autohotkey.com), an open-source project for Windows platforms.