Getting Started with PypeServer

Getting Started with PypeServer

1        User Information

1.1      Overview

·        The PypeServer Kiosk is an industrially enclosed computer system that sits next to the pipe cutting machine. 

·        PypeServer is currently (as of 2020) running Windows 10 Professional.  It can also be run on Window 7 Professional.

·        PypeServer is a Windows application that runs on the computer in the kiosk.  The computer is an Intel-based I-7 or better computer.

·        The PypeServer application enables you to:

o   Design parts, or upload them from CAD (some connections completed, some in development, some not supported)

o   Send the designs to the machine.

o   Schedule work as “Scheduled Parts”

o   Assess cut times and pipe use for a job (or other grouping of work)

o   Nest Scheduled Parts on pipes

o   Load nested pipes to the pipe cutting machine

o   Automatically track parts cut (the machine does this)

·        The PypeServer application uses a Microsoft SQL Server to store all of its pipe designs, planning, nesting and cut status information.

o   Using SQL provides numerous advantages over the more traditional methods of file storage.  You’ll learn about these advantages as you learn the system.

·        If you bought one or more remote licenses, you’ll be able to run the application at computers in your company LAN, away from the Kiosk.  The only things you won’t be able to do remotely is interact with the pipe cutting machine (load, change settings, clear, etc.).

1.2      General Layout of a complete system

This diagram shows the most common configuration for using PypeServer.

A connection needs to be established between the PypeServer computer and the machine computer. The purpose of the connection is to share a folder where PypeServer writes the files necessary to cut parts. This connection can be made either by a direct Ethernet connection between the PypeServer computer and the machine computer or a network share where both computers will have read/write access.

Note that some machines run instruction files such as GCode or JSON instruction files. Others connect directly to the machine via various protocols.

PypeServer provides two Ethernet ports. One on the side of the environmentally protected box and one on the USB-C hub. Use one port to connect PypeServer to the internet and the other port to create a link between PypeServer and the plasma cutter.

  

1.3      Getting Started Sequence

1.3.1       Before the Kiosk arrives

You cannot install and run the application without access to the SQL Server, which is on the Kiosk.  Thus there is not much to do until the Kiosk arrives.  Recommended before arrival:

·        Give this document to your IT department and encourage them to read sections 1 and 2.

·        Drop a CAT5/6 line to where the PypeServer kiosk is going to be installed.

1.3.2       Kiosk Arrival

Once your kiosk is online you can start using it before the pipe cutting machine is fully setup and running.   

·        Plug it in and start it up.  You can run it in your office or wherever.

·        Discuss with your IT department about joining the kiosk computer to your domain. 

·        If you licensed remote seats,

o   You will need to have PypeServer on the domain.  This process is discussed in section 2. 

o   You can install PypeServer app on your own computer and run it from there.

·        Once your IT department allows the kiosk to be connected to the internet, PypeServer can update and support the system as needed.  This is especially useful during the first month or so of starting up.

·        If you licensed importers, you can also begin working with PypeServer support to get your importer’s working optimally.

1.3.3       Ongoing – After your Kiosk is set up at the machine

·        PypeServer will advise you when new software releases are available. 

·        If needed, you can coordinate with PypeServer on the best time to update the software (so you have no downtime).  It can typically be done in the evening after work.

·        Whenever a new version is installed on the server, there may be new features.  You will find these in new training videos that are built into the system.

·        If you have remote licenses, those users will need to update their revisions as well.

 

1.4      Training

·        The App has training videos built in. This is on the “Training” tab of the main window.

·        PypeServer provides one or two initial training sessions. 

o   These optimally take place when the machine is operational so that users don't forget what they learned. 

o   A PypeServer trainer will schedule an online meeting with you for this.  It is recommended that you take a meeting room and get all users in for the training session.  Especially all machine operators.

o   The training typically takes 2 to 4 hours and can be broken into multiple sessions if needed. It is best for users to familiarize themselves with the system for a few days or a week before more training, which is available upon request.

§  A follow-up session is often useful.  It’s best to do this about two weeks from when users are more familiar with the system. 

 

1.5      Running PypeServer on another computer “Remote” programming

·        With a remote license, you can run the PypeServer application just the way you run it at the kiosk, except that you cannot load or otherwise control the machine. 

o   Talk to your IT person about getting set up for remote use.

·        Whenever the system is updated at the kiosk, you will need to install new revision at your remote computer.

·        You can install the PypeServer application on multiple machines on the LAN with the \\PYPESERVER kiosk, but can only use it concurrently for as many remote licenses as you have.  The license for the PypeServer kiosk is permanent and cannot be checked out elsewhere.

1.5.1       Installing PypeServer on a remote machine

Your laptop must be on the same LAN as the PYPESERVER computer, so you can reach the database and software license.

·        From Windows Explorer (not Internet Explorer), see that you can see PypeServer on your LAN.


 

o   The inability to see \\PYPESERVER on the LAN can include these reasons:

§  PYPESERVER is not connected to the LAN

§  PYPESERVER has not been joined to the domain (though often you can still see PYPESERVER even if it is not on the domain)

§  The PYPESERVER firewalls are on.  This is the most common.  And most tools that join a computer to a domain will turn the firewalls on automatically.

§  Contact your IT dept or see the IT section on firewalls for more information.

·        Navigate to the latest release:  \\PYPESERVER\PypeServer Staging\

·        From that folder copy “PypeServerAppSetup.exe” to your own computer (anywhere)

·        Double click to run the install.  The application will look for \\PypeServer to find the SQL server and licenses it needs.

o   If your company has renamed \\PYPESERVER, then you will be prompted to locate the SQL server via a dialog.  You will only need to locate the SQL server once.

1.5.1.1      Help with remote Installation

See section Online help using TeamViewer.

 

1.6      Reporting

You can connect to the PypeServer data (the SQL Database) via Microsoft Excel.  This is handy for creating your own reports as needed.  It takes some Excel skills, but the connection part is pretty clear via a training video.

·        There is a tutorial on making this connection, showing users how to connect to Excel to get the data into Excel (read-only). 

·        Once in Excel it is up to the user to build reports as needed.

·        Users can also directly connect to Parts (designs), Scheduled Parts (parts cut, or to be cut), and Pipes

·        It is on PypeServer’s roadmap to create a set of reports that come with the system.  Contact PypeServer for any new features in this area, or check the tutorials (part of the application)

·        Contact your IT person for help in better understanding how to view data from a SQL View.

 

You can also export any current grid-view of data out of PypeServer into Excel.   The data will export only the columns and rows currently showing.

 

1.7      Getting help

If something isn’t working right, or seems too difficult to be right, please contact us:

·        Phone: 425-333-7736 (USA) – our hours are 9-5 PST.

·        Email: support@pypeserver.com

·        Or you can open a support ticket at: https://pypeserver.atlassian.net/servicedesk/customer/portal/1

 

1.7.1       Online help using TeamViewer:

If you need online support for your remote seat installation, then at your remote seat, install either TeamViewer QuickSupport, or TeamViewer Host.  You can get this at TeamViewer (https://www.teamviewer.com/en-us/download/windows/).  Scroll down to find QuickSupport or Host.  Once installed, you can provide the connection ID and password to PypeServer so we can join you on your computer to provide support.

 

1.7.2       Information to provide

When contacting PypeServer for help, it greatly helps us respond quickly if you provide us:

·        Your Name:

·        Company Name:

·        Email and/or phone number:

·        If applicable:

o   Part ID or Scheduled Part ID or Pipe ID where the problem occurred

o   Describe the problem

o   Describe the steps that led up to the problem

·        Provide pictures if it is a bad cut.  Take pictures with your phone and text them to support@pypeserver.com.

 

Also, please leave your Kiosk Online so PypeServer can investigate

1.8      CAD connectivity

·        PypeServer supports numerous connections to various outputs and REST/Http connections from numerous CAD systems.  Please contact PypeServer to discuss specific solutions for your CAD to machine workflow.

 

2        IT Information

2.1      General Topology

This diagram expands the topology shown in section 1 to show the data flow from CAD through to multiple cutting machines, plus the optional label printing feature-set which can include NiceLabel.

  

* The NiceLabel app can be run LAN-wide to create and edit shared templates.  Printing is done from within PypeServer using the templates you design in NiceLabel.

2.2      PypeServer Computer Overview

The PypeServer system is a Windows .net application running on top of windows.  The application can run multiple instances from multiple machines within a LAN.  It can be run outside of a LAN but the app round-trips a lot with SQL so there are performance issues to address.  Contact PypeServer to discuss scenarios.

 

Out of the box:

  • The PypeServer kiosk is (as of 2020) an i7 Intel laptop running Windows 10 Professional with standard network adapters built into the system.

·        Software:

o   Windows 10 Professional

o   Windows .net (4.7.2 as of 2020)

o   SQL 2017 Express (as of 2020)

  • The kiosk computer is named PYPESERVER, though you can rename it if needed.  If you do rename the computer then client PypeServer Apps running on other computers will need to be directed (once) to the new computer name. 
  • The local user (that users can log in under) is "MachineOp".  That account has local admin rights.  For PypeServer support, please leave this account on the system.
  • You can add other local or domain users to the computer as needed.

2.3      Kiosk Enclosure and hardware

·        Enclosure:

o   The kiosk computer is in a dust-sealed box.  Running the computer without the box closed will significantly shorten the hardware life.

·        Monitor:

o   The monitor is (at minimum) 1080p It is mounted to standard Vesa mounts and can be replaced by any HDMI monitor of your choice.  The system supports 4K monitors.

·        Keyboard and Mouse:

o   Standard keyboard.  You can replace it with any preferred keyboard and mouse.

·        First year hardware is under warranty.

 

2.4      The Licensing system

 

The licensing system is the CodeMeter security system offered by WIBU (www.wibu.com).  It consists of one USB dongle at the PypeServer Kiosk. 

·        The CodeMeter license server is a service that runs on the OS where the dongle is located, and is a product of WIBU.  

o   It is preinstalled on the KIOSK

·        Remote Use:

o   The remote install installs a CodeMeter runtime that both decrypts and runs the app, and checks out the license from the server.

·        Remote apps are directed to the PYPESERVER machine to find their licenses (This is set up on remote installs.)  By default, remote access looks for a computer named PYPESERVER. 

·        Remote licenses are served out as check out on start of app, check in on stop of app or disconnect of computer from connection to license. 

o   The system is completely dependent on its connection with SQL so any offline mode is not feasible--no caching or proxy servers or such. 

·        You can install the remote application in as many locations as you want, but can only run as many concurrent remote instances as you have licenses.

·        The USB key also has one local license for running the app at the machine (which cannot be checked out by remote users).

·        If you want a user to have dedicated remote access to PypeServer, then a separate dongle key can be provided for that user to plug into their remote computer.  The checkout pool of licenses would be decremented (by PypeServer) in order to keep the proper license count (or another remote license sold to you).

 

2.5      PypeServer running on other computers (as clients)

·        The PypeServer client app is the same app as the one running at the kiosk. 

·        The app reconfigures itself for remote use.  Specifically, it does not allow users to load to the machine or change machine settings from remote seats.

  • For running the PypeServer application on other computers (as clients in the network), you should join the PYPESERVER computer to your local domain.
  • The firewalls on the PYPESERVER computer are off, so once it is joined to the domain it should be visible.  
  • Once visible, find and copy the PypeServerAppSetup.exe from the kiosk to whatever computers you want to run the remotely.
    • The PypeServerAppSetup.exe is in “\\PypeServer\PypeServer Staging”
    • Users can install the remote .exe on as many computers as desired, but the number of concurrent instances (actively running) cannot exceed the number of remote licenses currently licensed.
    • Licenses are checked in and out of the PypeServer kiosk, so LAN connectivity to that kiosk is required at all times.
    • Similarly, the client app does not cache any PypeServer part/cut data locally so remote PypeServer app instances must always have LAN access to the PYPESERVER computer. (So don't turn off the PypeServer computer when other users are running PypeServer.)
    • The license at the kiosk is permanent/fixed so remote users cannot accidentally check out the license for the kiosk.

2.5.1       Remote system requirements

·        Windows 10 Professional or Windows 7 Professional

·        Hardware Recommended:  

o   i7 processor.   i5 is acceptable.  i3 may run unacceptably slow.  

o   A Solid State Drive (SSD) for the OS is highly recommended for performance, (as it increases performance on everything, PypeServer included). 

§  Side note: SSDs do not fail gracefully.  Remote applications do not persist any key PypeServer data, but if your users do persist data on their SSDs, take that into consideration.

o   802.11AC or better network connectivity with a ping rate of less than 10ms.

2.5.2       Running PypeServer remotely over WAN through VPN—Latency

PypeServer will not perform acceptably over WAN through VPN connections because of communications Latency (not Bandwidth).   The bottleneck is the round-tripping lag/cost incurred by the high number of small, incremental data fetches and stores to SQL.  This problem is common in CAD-type systems and other systems that “nibble” on the server, unlike more general use such as web-browsing or online forms. 

 

Round-tripping defined:

While watching a video you can stream one way at very high data rates, but with interactive apps (CAD is a typical genre), the app can perform a function that could easily involve 100 or even 1000 small queries to the server.  The time cost is not in the streaming, it is in the lag time.  On a LAN you have lag of < 2msec (< 1 is typical), so if you make a 1000 queries, you use 1 second due to lag.  Through a VPN you can easily have 100msec lag (often worse), so a 1000 queries will result in a 100 second delay.  While 1000 is uncommon, 50 to 100 is not, but that still incurs 5-10 second delays, which is unacceptable. 

 

One solution to high-latency problems.

One simple (brute-force) solution is to set up a dedicated computer with low-latency to the PypeServer computer (in a server farm, in an office, etc), configured to run PypeServer. Remote users can then access that machine with an IT-approved remote access app such as GoTo MyPC, Team Viewer, etc.  This solution is typically easy to maintain and performant.

2.5.3       License not found

Refer to section The Licensing System for how licenses are metered out.

If you have installed PypeServer on a remote computer and upon starting the app see this window, you are welcome to contact PypeServer for help.  Here are probable causes that can be easily fixed:

1.      If never connected yet, and know everything is up to date:

a.      You may not be able to see the PYPESERVER computer on the LAN.  Please check that you can see PYPESERER on your network list of computers.

b.      Your firewalls on either side must allow the CodeMeter License Server through.  See the section Firewalls and Security.

2.      If all the licenses are checked out (by other remote users), this will appear.

a.      In some rare instances a PypeServer application fails to quit as a process (even though the UI quits).  You may need to search for that running on the last computer that ran the app.  (This has actually never happened remotely, but it has happened a few times at the machine on much older versions.)

b.      You can see what computers have licenses checked out by running the “PypeServer Licenses” application from the Start menu in the PypeServer folder.

3.      Remote licenses have simply expired.  This will be indicated when trying to start PypeServer.

4.      The CodeMeter license dongle could be unplugged or the USB port in which it is plugged into could have failed.

5.      If you are running the application remotely, then the application might not be looking to the correct location for the license.   You can open the CodeMeter Control Center and select the server by name, or if that is not working then by IPV4 address.  This shows both (the address will be different for your machine):


6.      Your remote PypeServer application could be out of date, which would fail this way if using out of date CodeMeter access tools.

7.      The CodeMeter License Server one the PYPESERVER kiosk could be turned off.   Here is how you check.  Start CodeMeter Control Center (a normal Windows App) and follow the lines.

 

 

2.6      Performance, reliability & support

2.6.1       Windows Updates

The PypeServer computer is delivered with Windows Automatic Updates turned off.  PypeServer is designed to run with the Windows configuration as provided upon computer delivery. PypeServer endeavors to be compatible with Windows updates, though future updates may cause problems running PypeServer, which may take time for PypeServer to resolve, or may not work with PypeServer at all.

 

A company’s IT support may elect to run Windows updates as they deem necessary.  For security and stability reasons, this is not discouraged.  However, it is highly recommended to create a Restore Point in Window in the event that PypeServer becomes unstable or disabled due to the updates.  Also, (as of 2/2020), PypeServer is delivered with a Restore Point called “Original Config” that sets the computer to its state as delivered.

2.6.2       Firewalls and security

·        Firewalls on PypeServer kiosks are off by default. 

·        The only sensitive information on a PypeServer Kiosk are the SQL databases “PypeServerAdmin” and “PypeServerDB”

·        Troubleshooting notes:

o   When first connecting remote seats, please turn off the Kiosk firewall.  Adding firewall features beforehand makes debugging difficult.

·        TeamViewer: 

o   PypeServer uses TeamViewer for remote support on the kiosk (and for users we can start remote Teamviewer sessions).  If you're running any sort of network traffic sniffer, you might see this, though it is unlikely to trigger a false-positive, as TeamViewer is well known. 

o   We recommend you leave unattended access enabled at the Kiosk while it is getting set up.  After things stabilize, you can shut it off as desired. 

§  We ask that you DO NOT uninstall TeamViewer—just shut off.  That way if you need support later, you can easily enable it.

 

2.6.3       Configuring for access with Firewalls

If you run firewalls on the PypeServer kiosk (that is running SQL), you’ll need to do these things

2.6.3.1      Enable TCP/IP

This should already be configured this way.

In SQL Server Configuration Manager, enable TCP/IP


Restart the server after this.

 

2.6.3.2      Allow Remote Connections

This should already be configured this way.

In SQL Server Management Studio, right click on the server and “Allow remote connections…”

 

2.6.3.3      Create two inbound Rules

 (This does not come preconfigured by PypeServer.)

SQL 2012, 14 and 17 Express, and named instances use dynamic ports and named instances use dynamic ports, so you have to allow the application (rather than the port).

 

In your Firewall advanced settings (“WF.msc”), create two Incoming application rules and one port rule for:

·        SQL server:

o   C:\Program Files\Microsoft SQL Server\MSSQL11.PYPESERVER\MSSQL\Binn\Sqlservr.exe

o   Note that with updates, the MSSQL11.PYPESERVER name may be different.

·        SQL Browser (required for sure):

o   C:\Program Files (x86)\Microsoft SQL Server\90\Shared\sqlbrowser.exe

·        Distributed Transaction Coordinator service

o   This service uses the RPC port 135 for inbound traffic

 

Steps for the application rules above (just pick the browser app for the second one:

1.       On the Start menu, click Run, type WF.msc, and then click OK.

2.       In the Windows Firewall with Advanced Security, in the left pane, right-click Inbound Rules, and then click New Rule in the action pane.

3.       In the Rule Type dialog box, select Program, and then click Next.

4.       In the Program dialog box, select This program path. Click Browse, and navigate to the instance of SQL Server that you want to access through the firewall, and then click Open. By default, SQL Server is at C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Binn\Sqlservr.exe. Click Next.

5.       In the Action dialog box, select Allow the connection, and then click Next.

6.       In the Profile dialog box, select any profiles that describe the computer connection environment when you want to connect to the Database Engine, and then click Next.

7.       In the Name dialog box, type a name and description for this rule, and then click Finish.

 

Steps for the RPC port rule above:

1.       On the Start menu, click Run, type WF.msc, and then click OK.

2.       In the Windows Firewall with Advanced Security, in the left pane, right-click Inbound Rules, and then click New Rule in the action pane.

3.       In the Rule Type dialog box, select Port, and then click Next.

4.       In the Protocol and Ports dialog box, select TCP, Specific local ports, and specify the RPC port number 135.

5.       In the Action dialog box, select Allow the connection, and then click Next.

6.       In the Profile dialog box, select any profiles that describe the computer connection environment when you want to connect to the Database Engine, and then click Next.

7.       In the Name dialog box, type a name and description for this rule, and then click Finish.

 

2.6.3.4      Allow the CodeMeter License Server through the Firewall

This is not SQL related, but also must be done so that PypeServer licenses for remote seats can be accessed from the PypeServer kiosk.

 

PypeServer is licensed through the WIBU Systems “CodeMeter” licensing system.  The remote PypeServer application must be able to find and check out a license from the CodeMeter license server that is running on the PYPESERVER kiosk.

 

Communication between protected applications and CodeMeter License Server (runtime) is based on the TCP/IP protocol. The communication default port is 22350.

If a firewall is active on your computer, you must open port 22350 for TCP and UDP. If your firewall filters the traffic using the application name, you must unblock the CodeMeter License Server service 'CodeMeter.exe'. You can find the application in the directory %Program Files (x86)%\CodeMeter\Runtime\bin. For your firewall define the 'CodeMeter.exe' service as exception.

 

Please note also that some anti-virus programs feature firewall functions. If you are uncertain, please contact the relevant vendor.

  • The CodeMeter license server typically uses named instances.  If you change your DHCP host, or configurations thereof, you will typically lose remote connectivity until you reboot both the Kiosk and the remote computer. 
  • Alternately you can change the remote access to look for a standard IPV4 address on the LAN. 

 

2.7      SQL

The PypeServer Kiosk arrives with SQL 2012 installed.

2.7.1       Performance

SQL 2012 Express is limited to one four-processor core.  This processing horsepower is more than enough for the typical maximum of 3-5 concurrent PypeServer users.  If you plan on going beyond that, consider building your own server with SQL Standard or better.

2.7.2       Data backup

It is highly recommended that you back your data up daily—off the kiosk.

·        For zero data loss, consider building your own SQL server with raid 1 or raid 10 type capabilities.  Given the nature of pipe cutting, this is arguably an overkill.

·        Data Growth (see below) is, in server terms. inconsequential.  As such, consider the relative low cost of full backups to preserve data in case of disk failure.

·        Here is the manufacturing related information on a PypeServer Kiosk:

o   The SQL databases “PypeServerAdmin” and “PypeServerDB”

o   If you are using Label Printing, then the Label Templates designed by your employees will be located at: C:\PypeServer\PypeServer Documents\Label Printing\Templates.

·        Out of the box, PypeServer uses SQLBackupAndFTP for scheduling DB backups.  Out of the box it backs up the two SQL DBs to both the SSD and to a separate small drive (a 16GB SD card or USB thumb drive) plugged into the laptop. 

·        Getting the data off the machine to both on and offsite data storage is highly recommended.

2.7.3       Database growth

Databases typically grow between 5 and 20 Megabytes per year. 

2.7.4       Relocating the SQL server

2.7.4.1      Performance Considerations:

·        Note that any time that server is down, or the network (LAN) is down, then your machine will be down.

·        In order to help you with many system issues, PypeServer personnel will need both RDP or TeamViewer connectivity to the server, and admin rights to the databases. (Unless, when problems arise, you elect to copy the DBs back to pypeserver and redirect the PypeServer app at the kiosk, and if necessary the remote apps.)

·        Network Latency between PypeServer and SQL must be very low.  Any ping latency above 4ms will start to degrade performance.  See the section on WAN/VPN latency.

·        If you're running firewalls on your server, you'll need inbound rules on your SQL server so that PypeServer can access it.  This is covered Configuring for access with Firewalls.

·        If you're not running SQL 2012, then all behaviors cannot be guaranteed.

·        SQL 2012 (and probably future versions until/unless this is deprecated), should be started with a startup parameter of "-t272", which prevents large indexing ID jumps on items when SQL shuts down with users connected. (Microsoft issue here.)

·        If you move your DBs and start having problems, then support for that will bill out hourly, as it is neither under warranty nor part of the support package.

 

2.7.4.2      Required services:

1.      SQL 2017

·        2017, 2014 and 2012 are supported. 2008 works, except for version -272.  No other systems tested, though PypeServer endeavors to not leverage features that may be deprecated.

2.      SQL 2017 Server Browser on the Server

3.      The MS Distributed Transaction Coordinator (SQL will fire this if needed)

·        This should be available for launch by SQL and will SQL starts it if needed.

·        Note: This service requires the RPC inbound port 135 to be opened.

 

·        Remote Seats require that Network DTC access be configured at both the Kiosk and Remote Seats.

 Using the dcomcnfig.msc tool


1.      Start dcomcnfg.msc from the Windows run menu

2.      Navigate to the node “Component Services->Computers->My Computer->Distributed Transaction Coordinator->Local DTC”.

3.      Right-click on the “Local DTC” node and select Properties from the context menu.

4.      Enable the following on the Security tab.

·        Network DTC Access

·        Allow Remote Clients

·        Allow Inbound

·        Allow outbound

·        No Authentication Required

·        Enable XA Transactions

·        Enable SNA LU 6.2 Transactions

 

Using PowerShell

1.      Right-click on the Start Menu and select "Windows PowerShell (Admin)".

2.      2) Select your configuration below and paste the script into the PowerShell window and execute it.

Kiosk/SQL Server

Set-DtcNetworkSetting -AuthenticationLevel "NoAuth" -InboundTransactionsEnabled $true -OutboundTransactionsEnabled $true -LUTransactionsEnabled $true -RemoteClientAccessEnabled $true -XATransactionsEnabled $true

Remote Seat

Set-DtcNetworkSetting -AuthenticationLevel "NoAuth" -InboundTransactionsEnabled $true -OutboundTransactionsEnabled $true -LUTransactionsEnabled $true -XATransactionsEnabled $true

Allow DTC through the firewall on both systems

netsh advfirewall firewall set rule group="Distributed Transaction Coordinator" new enable=yes

Enable-NetFirewallRule -DisplayGroup "Distributed Transaction Coordinator"

 

2.7.4.3      Relocation Steps

This description assumes you will be using Windows Authentication.  It does not cover SQL Authentication (which is also supported by PypeServer, but is really designed for working across workgroups). 

Follow these steps:

1.      In the Sql Server Configuration Manager, (or from Services), add “-t272” as a startup parameter.  This prevents large indexing ID jumps on items when SQL shuts down with remote users connected. (Microsoft issue here.)

 

2.      Enable TCP/IP on the server

3.      Allow remote connections

4.      Turn off Firewalls on the server, or Add inbound rules through your firewall

·        The rules described are for SQL Server 2012 Express.  You may need to adjust your rules from allowing the application (for dynamic ports) to allowing specific ports.  Your call, though I believe that the config for dynamic ports (as described in this doc) will work for non-dynamic ports.

5.      Copy the DBs to the new server

·        The database names are PypeServerDB and PypeServerAdmin

·        Use the exact same DB Names.  There is no PypeServer mapping for the DB names.

6.      Grant users read and write access to these two databases. 

7.      Turn off the SQL Server on the PypeServer Kiosk

·        DO NOT UNINSTALL SQL FROM THE KIOSK.  If you have problems with your server or debugging is required, you may elect to copy the databases from your server back to the kiosk for easier/less invasive access by PypeServer personnel.

·        See the “Configure Database Backups” step for some further simple failover processes.

8.      From the PypeServer kiosk, under the user you intend to run as, use the SQL Server Management Studio to navigate to your new Server and make sure you have access to the databases. 

·        Try editing PypeserverDB.dbo.SystemConfigInfo—just add your company name or something.  If that works, then you probably have all the rights you need.

·        If you cannot access the Server, try just turning off the firewalls on the Server to see if it is just a firewall IO rule.

9.      Redirect the PypeServer application to the new server location.

·        Do this for the kiosk and for all remote seats by simply starting the PypeServer app and following the path to the dialog below.  When you restart PypeServer it may take up to a minute before it gives up trying to find the databases, and then it will prompt you that it cannot find the SQL servers.  Click through (getting Admin Privileges) to this dialog:



·        Use Window Authentication.  Select your server and test the connection.  If it fails (turns yellow) see Installing PypeServer on a Remote Machine for reasons that things don’t connect.

·        SQL AUTHENTICATION:   Contact Pypeserver if this is needed.

10.   If users or other services are accessing the PypeServer system for read-purposes (like for Excel Reporting, ERP integration, etc), add Read Access as needed.

11.   Configure database backups (Recommended/Reminder)

·        Consider backing up your databases directly to the PYPESERVER kiosk.  This way if your server or network goes down, you can start SQL on the kiosk, load the last saved DB to the local SQL server, and remap the kiosk to that server.

2.7.5       SQL Read Access

2.7.5.1      For Reporting

One primary SQL view exists in the PypeServerDB for reporting.

·        See “Reporting” in the User section (above) for user information

·        If you need data presented in some specific way, please contact PypeServer to assist you in that.

2.7.5.2      ERP or other connections

SQL Views can be provided for specific data consumption needs. 

·        You can query these SQL views as needed

·        Contact PypeServer to discuss your specific needs.

 

2.8      Failover planning

2.8.1       Data backup

The most important failure issue is arguably data loss, not time.  Disk failure could result in loss of data since the last backup. 

·        If this is a concern, consider adding disk mirroring via any modern number of tools offered for that.

2.8.2       Hardware backup

If machine downtime of a half hour or so is acceptable for hardware failure (which in the machine/fabrication world this is often acceptable), then simple hardware replication is recommended:

·        PypeServer can sell your company a second identical laptop that is all ready to assume the role of server--swappable in minutes at the kiosk. 

·        You can also ghost the SSD currently in the laptop.  If you have a drive failure, you can swap in the backup SSD, reload your last DB backup and you’re back online.

 

2.8.2.1      For machines with Serial Communications

We also recommend that you stock a backup USB to Serial Adapter—optically isolated, as power surges and fluctuations of unclean power can cause these to fail.  Shown here is one on sale on Amazon that has been working well up through 2020.

 

 

2.8.3       Disk Imaging

For disk failures, consider bare-metal imaging (Ghosting) the PypeServer Windows Computer. 

 

2.8.4       Multiple machine configuration

If you have more than one machine running PypeServer

·        Each machine requires a Kiosk for at-machine needs,

·        However both machines can (advantageously) run off of one SQL server.

·        Rename the computer without the server to PYPESERVER2 or PYPESERVER<machine name> -- as desired

·        Stop the SQL server on the Kiosk that will not be running the system-wide SQL server. (set to Manual start or disabled)

·        Retarget the kiosk with the stopped server to the other kiosk’s SQL server (PypeServer support can help with this—typically takes 5 minutes)

 

2.8.5       Virtual Machines

PypeServer does not warrant that it will run on VMs. The PypeServer application (not the server) has been run on Virtual Machines as a remote seat.   There have been some complications, depending on the Virtual machine being used.  The performance has been typically worse through VMs. General setup instructions are the same as getting set up with any remote computer.

 

2.9      TeamViewer Access

The system arrives pre-configured with TeamViewer installed, with remote access by PypeServer using 2-factor authentication bound to specific PypeServer machines.  It is recommended that you leave this access in place during the initial phases of setup and use so that PypeServer can offer support, make updates, update licenses, and consult as needed. 

Once stabilized you are welcome to turn off TeamViewer remote access so that PypeServer can only get access when you allow it.  However, it is strongly recommended that you do not uninstall TeamViewer, as this will adds work to gaining access later, delay support, and typically require the use of temporary, less secure passwords that are not enforcing 2 factor authentication bound to specific PypeServer machines.  The recommended way to turn off remote access is from the TeamViewer Options window as follows:


And per your request, PypeServer support can turn that off on the way out after a support session.

 

2.10  Implementation Sequence

2.10.1   Pre-arrival

·        Get a Cat5 or better network line dropped to where the PypeServer Kiosk is going to be located. (This is the most common delay for installations.)

2.10.2   Machine Arrival

·        Connect network lines

·        If you run a Domain, join the PYPESERVER kiosk to the domain.

See FAQ on “We need to start programming before the machine is fully setup.  Can we do that?”

2.10.3   Ongoing Maintenance

·        Configure and routinely test your data backup system.

·        Consider the lifespan of SSDs and replace as needed.  You can view the type of SSD used in the kiosk through the Windows Disk Management tool at the Kiosk.

2.10.3.1   Updates from PypeServer

·        Request latest builds when the production cycle lulls.

o   PypeServer can download the latest builds to the kiosk.  PypeServer will perform the updates required on SQL.  If you have moved the SQL Server, discuss with PypeServer how you can do that part.

o   New app versions require installation at kiosk and all remote seats. 

·        PypeServer targets one large release on an annual cycle and will contact customers when significant releases are available.

2.10.3.2   Windows Update

·        For stability reasons, Windows update does not run automatically.  You are welcome to run windows updates at times appropriate to your production cycles.  Please notify PypeServer if any problems arise when updating.

 

3        Label Printing Set Up

Please see the Getting Started with Label Printing document.

4        Warranties and annual license fees

·        The PypeServer kiosk hardware is under warranty for one year from delivery.

·        Annual license fees are required to run the PypeServer application.  Fee types are as follows:

o   Designer

o   Designer remote seat

o   Enterprise

o   Enterprise remote seat

o   Importers (various types)

o   Label Printing

o   G-Code support

o   Other features as released

·        Actual fees are disclosed in the product quotes

 

5        Frequently Asked Questions

5.1      Startup

Q:  Can we do training before the machine is fully setup?

A:  Yes, however it is best done when the machine is installed and ready to use so that you can use what you’ve learned. Also, it is highly recommended for operators to just try the software a bit (just get used to the basic functions).

 

5.2      General Use:

Q:  Should I stop the PypeServer app when I’m not using it?

A:  No.  It needs to be running when the pipe cutting machine is running so that it can gather information on cut status and provide other information from the machine to the kiosk and user.

 

Q:  My mouse wheel mouse-down button does not work in the app.  How do I fix that?

A:  The Middle “mouse down” event is not directly supported in Windows 7 (not sure in Windows 8 & 10).  If it is not working you will need to set this in your mouse driver.   Note that some mice have custom drivers, and that driver does not allow you to set the middle wheel mouse down event.  In that case, you may need to find and install a 3rd party mouse driver, or simply buy another mouse.  Microsoft mice work out of the box.

 

For more help, please web-search “middle mouse button not working”.

  

5.3      Licensing:

Q:  Can remote users use up all the licenses such that the app at the machine cannot get a license to start?

A:  No.  The at-machine license is locked to the kiosk at the machine.  Starting the app at the machine does not deduct a remote seat license.

 

Q:  If I turn off the PypeServer app at the machine, can I use that license somewhere else?

A:  No.  The at machine license is locked to the kiosk at the machine. Starting the app at the machine does not deduct a remote seat license.

 

Q:  Can I install the remote application on more computers than I have licenses?

A:  Yes—as many computers as you want.  The system will only allow you to run as many concurrent instances of the application as you have licenses.

 

Q:  Can I run PypeServer off line, or away from the network?

A:  No.  PypeServer cannot run apart from the SQL server and the license, which is checked out from the server.

 

Q:  My machine is hard to get a CAT5 wire to. For my remote users, can I connect the kiosk to the LAN using wireless?

A:  No (with emphasis).  Remote seats require continuous access to both SQL and the WIBU CodeMeter license server.  The electrical noise of the plasma cutter (and any welding going on nearby) will make the wireless connection intermittent, which will result in many problems with the remote use, including the application stopping because it cannot confirm its license. 

·        Note that if you are not running remote seats, then you don’t need any connection except for support and updates. 

 

Q: Where are the licenses stored?

A:  Typically on a USB dongle plugged into the machine that is running the SQL server.  This is typically delivered in the Kiosk (which runs SQL).  Your IT department may reconfigure this as needed.

 

Q: We need to run PypeServer outside of our LAN.  Can we connect in via VPN?

A:  See the section “Running PypeServer remotely over WAN through VPN

 






    • Related Articles

    • FAQ: Getting Started

      FAQ: Getting Started With PypeServer Enterprise Startup Q: Can we do training before the machine is fully setup? A: Yes, however it is best done when the machine is installed and ready to use so that you can use what you’ve learned. Also, it is ...
    • Getting Started with PypeServer

      Getting Started with PypeServer (and Frequently Asked Questions) This document covers what to do in preparation for using the PypeServer software, and maintaining the PypeServer system. Contents 1 User Information 3 1.1 Overview 3 1.2 General Layout ...
    • Getting Started with label Printing

      Getting Started with label Printing Getting Started with Label Printing in PypeServer This document explains what PypeServer provides for Label Printing, what the customer must procure and do to set up NiceLabel and label printing, and links to ...
    • Getting Started with HGG Machines

      Getting Started with HGG Machines PypeServer for HGG Machines This document covers topics specific to HGG machine working well with PypeServer. Topics include: General network layout for using PypeServer with the machine HGG ProCAM settings and ...
    • Pypeserver with EdgeConnect Machines

      Pypeserver with EdgeConnect Machines PypeServer with EdgeConnect machines Machine configuration When configuring your machine, some preparatory steps are required in order to get meaningful test results. Getting axial directions correct This is done ...