Updated: 07/14/2014

The WinPLC Software Developer Kit

The majority of our WinPLCs are sold through Automationdirect.com as Entivity WinPLCs also called ThinknDo WinPLCs). These WinPLCs are preloaded with a runtime image that run programs developed by the Entivity (ThinknDo) development software - think Windows CE operating system and preinstalled applications and device drivers.

The "WinCE-Only" version of the WinPLC uses a runtime image that has the Window CE operating system and the software components from Microsoft that are needed to run Visual C/C++ programs directly on the WinPLC. This version of the WinPLC is only sold and supported directly from here at Host Engineering. We have experienced good success with developers that have an existing Windows CE application running on other hardware that they want ported to the WinPLC. These developers work with our WinPLC SDK and WinPLC hardware without a lot of our help. They're CE-savvy and just need our code and some help initially getting connected to the WinPLC.

The WinPLC itself is built around the Hitachi SH3 processor which had good support in WinCE versions up through v3.x. We decided to use the SH3 partly because of Microsoft's long-term development plan for that processor, which looked very strong in 2000 but faded soon after that. That's why we're still using v2.12 today. We planned to move to WinCE v3.0 when it first came out but the licensing cost was prohibitive considering the relatively small gain in performance and enhancements to the platform.

This is particularly bad news for those people looking to use CE.NET (v4.x and later) and/or C# with the WinPLC. Microsoft does not yet have a headless version of WinCE.NET that targets the SH3 processor, and, sadly, there's no indication that they are working on one.

Development Environment:

  1. Microsoft's eMbedded Visual Tools is certified for Windows 2000 and Windows NT4, but we've been running it under Windows XP Pro with good success. It will NOT RUN under Windows Vista, Windows , or Windows 8.
     
  2. A 10Base-T (or 10/100) Ethernet adapter and appropriate cabling.
     
  3. Both TCP/IP and IPX Protocols loaded and bound to the Ethernet adapter. TCP/IP is the only protocol supported by Windows CE, so this is needed for remote control and program downloading. IPX protocol is used by the WinPLC's bootstrap loader to initially setup the WinPLC's IP address information. The other reason you can't develop under Windows Vista is that Vista does not have support for IPX protocol.

The WinPLC SDK Software:

To create programs that can be used in our WinCE-Only WinPLCs, you'll need the following two pieces of software:

  1. Microsoft's eMbedded Visual Tools V3.0 for the programming environment - available as a free download from the Microsoft web site. This is a complete programming environment to create C/C++ programs to run under Windows CE.

    A web search for 'Microsoft embedded visual tools 3.0' will usually lead you to the MSDN download page where you can get you own legitimate copy of the programming environment.

    We've included a link to a local copy of the Microsoft software on our web site, simply because we're not sure how long it's going to be available on the Microsoft web site: Microsoft's Embedded Visual Tools v3.0 (~300Mb)
     
  2. Our WinPLC SDK contains the libraries, header files you'll need to build your own programs. We also include and some Visual C example programs. There also some management utilities to configure the WinPLC (the WinPLC Workbench), and establish a connection from your development PC to the WinPLC itself. There's no cost associated with our WinPLC SDK.

    Here's the link to download our WinPLC SDK (~4Mb)

Our WinPLC SDK includes the Nk_min_2_1_2.Ceb runtime images using WinCE v2.12 and includes support for Visual C/C++ programming. This is the default image we load into the WinCE-Only WinPLC.

The WinPLC Hardware:

So you're asking yourself "How can I get a WinCE-Only WinPLC to try this stuff with?".

If you already have an Entivity WinPLC in your possession, you can simply use the WinPLC Workbench (one of the management utilities we provide with our WinPLC SDK) to load the WinCE-Only runtime and you're ready to go. You can always reload the Entivity runtime image if you find that you don't want to continue working with your own Visual C/C++ programs.

If you don't have a "donor" WinPLC to work with, we can sell you an H2-WPLC3. This WinPLC has a 100mHz CPU, one onboard serial port (rs-232) and one 10Base-T Ethernet port. It has 8Mb of RAM for running user programs, and 8Mb of ROM FLASH file system used for storing the operating system and user created programs. The price for this WinPLC is $549.

We do ask that you sign a beta test agreement with us to pursue this path. If you're interested in signing up, we want to talk to you. We'd like to get a feel for your application so that we can see if it's a good fit for what we have available.

To get started we ask that you send us an email describing your application and we'll get back to you with more information about the process.